哈尔滨专业建网站哪家好,建设通网站有法律,绵阳seo,百度网站置顶怎么做目录
一.strcpy_s 函数/strcpy 函数简介 1.strcpy 函数语法2.strcpy_s 函数语法 二.strcpy/strcpy_s 函数实战三.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 C 语言基础入门 一.strcpy_s 函数/strcpy 函数简介
1.strcpy函数语法
/*
*描述#xff1a;此类函…目录
一.strcpy_s 函数/strcpy 函数简介 1.strcpy 函数语法2.strcpy_s 函数语法 二.strcpy/strcpy_s 函数实战三.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 C 语言基础入门 一.strcpy_s 函数/strcpy 函数简介
1.strcpy函数语法
/*
*描述此类函数是用于对字符串进行复制拷贝。
*
*参数
* [in] strSource需要拷贝的字符串
* [out] strDestination拷贝完成之后的字符串
*
*返回值指向 strDestination 这个字符串的指针
*/
char* strcpy(char* strDestination, const char* strSource);2.strcpy_s函数语法
/*
*描述此类函数是用于对字符串进行复制拷贝。
*
*参数
* [out] strDestination拷贝完成之后的字符串
* [in] numberOfElements strDestination目标缓冲区长度
* [in] strSource需要拷贝的字符串
*
*返回值返回一个整数0表示复制成功返回非0值代表复制不成功不同的值表示不同的错误具体内容可以查阅MSDN手册
*/
errno_t strcpy_s(char *strDestination , size_t numberOfElements , const char *strSource);C 语言在 string.h 中 strcpy 函数和 strcpy_s 函数,都可以完成 char 字符串拷贝注意
1.strcpy 函数和 strcpy_s 函数在拷贝过程中如果遇到\0结束符那么直接结束拷贝memcpy 函数 / memcpy_s 函数拷贝过程中就算遇到\0结束符也不会结束
2.如果使用strcpy函数都会提示error4996编译器更加推荐使用strcpy_s函数,否则也可以参考error C4996: ‘fopen’: This function or variable may be unsafe
error C4996: memcpy: This function or variable may be unsafe.
Consider using memcpy_s instead. To disable deprecation,
use _CRT_SECURE_NO_WARNINGS. See online help for details.3.不管是 strcpy_s 函数或者 strcpy 函数 必须保证 dst 空间足够大能够容纳src 如果 dst 内存空间大小比 src 更小会导致溢出错误引起程序崩溃可以通过 sizeof 函数查看内存内存大小举个例子 50ml 的水杯能倒进 500ml 的水杯没问题 500ml 的水杯倒进50ml 的水杯会溢出很多水
二.strcpy/strcpy_s 函数实战
**在 char 字符串中有作介绍字符串默认都是 \0 结尾 strcpy 函数或者 strcpy_s 函数在拷贝过程中如果遇到 \0 结束符那么直接结束拷贝**看下面例子
/******************************************************************************************/
//Author:猿说编程
//Blog(个人博客地址): www.codersrc.com
//File:C语言教程 - C语言 strcpy 和 strcpy_s 函数区别
//Time:2021/06/03 08:00
//Motto:不积跬步无以至千里不积小流无以成江海程序人生的精彩需要坚持不懈地积累
/******************************************************************************************/#include stdafx.h
#include stdio.h
#include stdlib.h
#includestring.h
#include windows.h
//error C4996: strcpy: This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
#pragma warning( disable : 4996)
int main()
{char src[1024] { C/C教程-strcpy函数\0 - www.codersrc.com };char dst1[1024] { 0 };char dst2[1024] { 0 };printf(strcpy之前 dst1:%s\n, dst1);strcpy(dst1, src);printf(strcpy之后 dst1:%s\n, dst1);printf(---------------------------------\n);printf(strcpy_s之前 dst2:%s\n, dst2);strcpy_s(dst2,sizeof(dst2)/sizeof(char),src);printf(strcpy_s之后 dst2:%s\n, dst2);system(pause);return 0;
}
/*
输出
strcpy之前 dst1:
strcpy之后 dst1:C/C教程-strcpy函数
---------------------------------
strcpy_s之前 dst2:
strcpy_s之后 dst2:C/C教程-strcpy函数
请按任意键继续. . .
*/重上面的输出结果可以看出strcpy 函数 / strcpy_s 函数在拷贝的时候如果遇到\0那么拷贝直接结束所以上面使用 strcpy / strcpy_s 函数拷贝的时候dst 字符串明显少了一段字符 - www.codersrc.com;
三.猜你喜欢
安装 Visual Studio安装 Visual Studio 插件 Visual AssistVisual Studio 2008 卸载Visual Studio 2003/2015 卸载设置 Visual Studio 字体/背景/行号C 语言格式控制符/占位符C 语言逻辑运算符C 语言三目运算符C 语言逗号表达式C 语言自加自减运算符(i / i)C 语言 for 循环C 语言 break 和 continueC 语言 while 循环C 语言 do while 和 while 循环C 语言 switch 语句C 语言 goto 语句C 语言 char 字符串C 语言 strlen 函数C 语言 sizeof 函数C 语言 sizeof 和 strlen 函数区别C 语言 strcpy 函数C 语言 strcpy_s 函数C 语言 strcpy 和 strcpy_s 函数区别
未经允许不得转载猿说编程 » C 语言 strcpy 和 strcpy_s 函数区别