c++中的strcpy(dest,sour)字符串复制函数中,复制sour字符串的结尾符/0吗?

 我来答
npkillbady2
2013-01-03 · TA获得超过176个赞
知道答主
回答量:32
采纳率:0%
帮助的人:37.1万
展开全部
复制的,strcpy里的核心代码如下:
while( (*dest++ = *sour++ ) != '\0') ;
也就是当sour将'\0'复制给dest的时候,循环条件不成立了,这时循环结束,复制完成,但是'\0'已经被复制到dest中了
看见什么吃什么heyboy
2013-01-03 · TA获得超过444个赞
知道小有建树答主
回答量:126
采纳率:0%
帮助的人:61.8万
展开全部
嗯是带\0的。
2) strcpy是用来把字符串拷贝到指定的地方的,原型是char *strcpy(char *dest,const char *src),作用是把从src地址开始且含有\0结束符的字符串复制到以dest开始的地址空间注意strcat是从dest的结尾处开始操作的,而strcpy是直接覆盖dest指向的内容。
3)C语言中,头文件均为<stringh>。
追问
我想继续问一下,我用new运算符动态申请了5个char的存储空间,将另一个长度大于5的字符串用strcpy复制到申请的空间里,这样编译器为什么没报错??另外怎么查看动态申请的内存里是不是有\0呢?
追答
编译器是只执行语法报错的。这没有涉及任何的语法错误。
就像你会经常遇到一种情况:编译没有error,但是一旦运行,程序就报错崩掉,这是很正常的。

动态申请的内存是否有\0 你可以调试查看。

也可以设标志flag=0。
代码这样:
if(dest[i]=='\0'){flag=1;break;}
i++;

循环出来判断flag是不是1就知道有没有\0了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友288ba2d
2013-01-03 · TA获得超过364个赞
知道小有建树答主
回答量:314
采纳率:0%
帮助的人:271万
展开全部
strcpy()函数是浅复制,不会复制\0字符。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友b5384d1
2013-01-03
知道答主
回答量:81
采纳率:0%
帮助的人:16.8万
展开全部
这个你其实直接试一下就行了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式