建设机械网站方案设计,百度网盘搜索引擎入口,wordpress禁用wp-cron,网站建设项目职责目录
一.memcpy 函数/strcpy 函数简介二.memcpy 函数/strcpy 函数实战 1.strcpy 函数属于字符串拷贝2.memcpy 函数属于内存拷贝 三.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 C 语言基础入门 一.memcpy 函数/strcpy 函数简介
C 语言在 string.h 中 strcpy 函…目录
一.memcpy 函数/strcpy 函数简介二.memcpy 函数/strcpy 函数实战 1.strcpy 函数属于字符串拷贝2.memcpy 函数属于内存拷贝 三.猜你喜欢 零基础 C/C 学习路线推荐 : C/C 学习目录 C 语言基础入门 一.memcpy 函数/strcpy 函数简介
C 语言在 string.h 中 strcpy 函数和 memcpy 函数,都可以完成 char 字符串拷贝注意
1.strcpy 函数和 strcpy_s 函数在拷贝过程中如果遇到\0结束符那么直接结束拷贝memcpy 函数拷贝过程中就算遇到\0结束符也不会结束
2.如果使用 memcpy 或者 strcpy 函数都会提示 error4996编译器更加推荐使用 strcpy_s 函数或者 memcpy_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.不管是 memcpy 函数或者 strcpy 函数 必须保证 dst 空间足够大能够容纳 src 如果 dst 内存空间大小比 src 更小会导致溢出错误引起程序崩溃可以通过 sizeof 函数查看内存内存大小举个例子50ml 的水杯能倒进 500ml 的水杯没问题500ml 的水杯倒进 50ml 的水杯会溢出很多水
二.memcpy 函数/strcpy 函数实战
1.strcpy 函数属于字符串拷贝
**在 char 字符串中有作介绍字符串默认都是\0结尾strcpy 函数或者 strcpy_s 函数在拷贝过程中如果遇到\0结束符那么直接结束拷贝**看下面例子
/******************************************************************************************/
//Author:猿说编程
//Blog(个人博客地址): www.codersrc.com
//File:C语言教程 - C语言 memcpy 和 strcpy 函数区别
//Time:2021/06/04 08:00
//Motto:不积跬步无以至千里不积小流无以成江海程序人生的精彩需要坚持不懈地积累
/******************************************************************************************/#include stdafx.h
#includestdlib.h
#includestdio.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)
void main()
{char src[1024] { C/C教程-strcpy函数\0 - www.codersrc.com };char dst[1024] { 0 };printf(strcpy之前 dst:%s\n, dst);strcpy(dst, src );printf(strcpy之后 dst:%s\n, dst);printf(\n);system(pause);
/*
输出
strcpy之前 dst:
strcpy之后 dst:C/C教程-strcpy函数
请按任意键继续. . .
*/重上面的输出结果可以看出strcpy 函数在拷贝的时候如果遇到\0那么拷贝直接结束所以上面使用 strcpy 拷贝的时候dst 字符串明显少了一段字符 - www.codersrc.com;
2.memcpy 函数属于内存拷贝
而 memcpy 函数不同memcpy 属于内存拷贝即便在拷贝过程中遇到\0结束符也不会结束拷贝举个例子
/******************************************************************************************/
//Author:猿说编程
//Blog(个人博客地址): www.codersrc.com
//File:C语言教程 - C语言 memcpy 和 strcpy 函数区别
//Time:2021/06/04 08:00
//Motto:不积跬步无以至千里不积小流无以成江海程序人生的精彩需要坚持不懈地积累
/******************************************************************************************/char src[1024] { C/C教程-memcpy函数\0 - www.codersrc.com };
char dst[1024] { 0 };
printf(memcpy之前 dst:%s\n, dst);
memcpy(dst, src);
printf(memcpy之后 dst:%s\n, dst);
printf(\n);
system(pause);/*
输出memcpy之前 dst:
memcpy之后 dst:C/C教程-memcpy函数\0 - www.codersrc.com
请按任意键继续. . .
*/很明显memcpy 函数内存拷贝的时候\0仅仅是当作了内存中的数据并不代表拷贝结尾
三.猜你喜欢
安装 Visual Studio安装 Visual Studio 插件 Visual AssistVisual Studio 2008 卸载Visual Studio 2003/2015 卸载C 语言格式控制符/占位符C 语言逻辑运算符C 语言三目运算符C 语言逗号表达式C 语言自加自减运算符(i / i)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 语言 memcpy 和 strcpy 函数区别
未经允许不得转载猿说编程 » C 语言 memcpy 和 strcpy 函数区别