社区
C语言
帖子详情
strcpy 函数 一些细节问题
tianxiao1101
2010-09-14 01:29:15
我们都知道 strcpy(a,b) 是将字符串b 内存复制到 字符串 a;
因为字符串b 是以'/0'结尾,因此执行完函数后输出 a 没一点问题;
当这里的b 不是字符串时,而是一个 字符数组时,这事 b所占的内存中没有‘/0’结尾。
执行完函数后,输出a 就会有些问题,特别是 a 的字符串比 字符数组 b 长时。
我想问的是:::::a 内存中后面未被b覆盖的部分,怎么输出;
...全文
118
9
打赏
收藏
strcpy 函数 一些细节问题
我们都知道 strcpy(a,b) 是将字符串b 内存复制到 字符串 a; 因为字符串b 是以'/0'结尾,因此执行完函数后输出 a 没一点问题; 当这里的b 不是字符串时,而是一个 字符数组时,这事 b所占的内存中没有‘/0’结尾。 执行完函数后,输出a 就会有些问题,特别是 a 的字符串比 字符数组 b 长时。 我想问的是:::::a 内存中后面未被b覆盖的部分,怎么输出;
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
9 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
zmkkobe
2010-09-14
打赏
举报
回复
同意二楼。
wlj07057106
2010-09-14
打赏
举报
回复
楼主应该好好看下strcpy函数的定义是怎么样的
赵4老师
2010-09-14
打赏
举报
回复
上帖中
printf("%s,%d,%s\n",a,a[2];a+3);
应改为
printf("%s,%d,%s\n",a,a[2],a+3);
赵4老师
2010-09-14
打赏
举报
回复
char a[6]="abcde";
char b[3]="AB";
int i;
strcpy(a,b);
printf("%s,%d,%s\n",a,a[2];a+3);
//AB,0,de
xinhai9911
2010-09-14
打赏
举报
回复
[Quote=引用 4 楼 insanehui 的回复:]
引用 2 楼 justkk 的回复:
即使b是字符数组,strcpy(a, b)也是从b指定的地址开始拷贝,直到在内存中找到一个\0为止
正解,你使用strcpy函数时传递了一个字符数组给b本身就是不正确的用法。这样导致的情况就像二楼说的那样,你无法知道函数会把b后面的多少数据复制给了a...
所以,你问的所谓“a内存中未被b覆盖的部分怎么输出”是否显得没有意义?
[/Quote]
同意楼上观点!
insanehui
2010-09-14
打赏
举报
回复
[Quote=引用 2 楼 justkk 的回复:]
即使b是字符数组,strcpy(a, b)也是从b指定的地址开始拷贝,直到在内存中找到一个\0为止
[/Quote]
正解,你使用strcpy函数时传递了一个字符数组给b本身就是不正确的用法。这样导致的情况就像二楼说的那样,你无法知道函数会把b后面的多少数据复制给了a...
所以,你问的所谓“a内存中未被b覆盖的部分怎么输出”是否显得没有意义?
evoloyeu
2010-09-14
打赏
举报
回复
这样是会出现段错误的啊哈
justkk
2010-09-14
打赏
举报
回复
即使b是字符数组,strcpy(a, b)也是从b指定的地址开始拷贝,直到在内存中找到一个\0为止
onecl1
2010-09-14
打赏
举报
回复
a内是:a,b,c,d,e,f,\0
b内是:1,2,3,4,\0
拷贝完:1,2,3,4,\0,f,\0
输出到第一个\0结束
C语言面试题.pdf
我们可以从2分到10分的
strcpy
函数
实现中看到,小小的
strcpy
函数
竟然需要如此扎实的基本功。 * 2分:void
strcpy
( char *strDest, char *strSrc ) { while( (*strDest++ = * strSrc++) != ‘ ’ ); } * 4分:void ...
常见C++面试编程题题经典分析.docx
本文将对常见的C++面试编程题进行分析,涵盖了
strcpy
函数
的实现、数组越界、字符串操作等多个方面,旨在帮助读者深入了解C++语言的技术
细节
。 1.
strcpy
函数
的实现
strcpy
函数
是C++中最基本的字符串复制
函数
,但...
c语言面试
问题
[参考].pdf
当面试官要求求职者编写标准的
strcpy
函数
时,不仅考察对
函数
功能的理解,更在考察对
细节
的关注,例如参数的类型修饰(使用const保证字符串不可被修改)、边界条件的判断(使用assert确保不会发生越界)等。...
C++程序员应聘常见面试题剖析
- **
问题
所在:** 在`str1`数组的初始化过程中,缺少了一个空字符`\0`作为字符串的终止符,导致`
strcpy
`
函数
复制时无法正确终止。 - **改进方案:** 在循环结束后添加一个`\0`字符到`str1`数组的末尾,确保字符串的...
vc实现文件夹从一个目录下拷贝到另一个目录
- 使用`
strcpy
`
函数
将字符串从一个字符数组复制到另一个字符数组。 3. **Shell API
函数
的应用**:`SHFileOperation`
函数
是Windows Shell API的一部分,用于执行各种文件操作,如复制、移动、删除等。在此示例中,...
C语言
70,020
社区成员
243,263
社区内容
发帖
与我相关
我的任务
C语言
C语言相关问题讨论
复制链接
扫一扫
分享
社区描述
C语言相关问题讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章