【发布时间】:2012-08-03 19:12:28
【问题描述】:
现在让我们看看这个小程序
char s[20]="One";
strcat(s,"Two");
cout<<s<<endl;
这里最初 s 的值为“One”,对于视觉表示,这是 s 的值:
O - n - e - \0
然后我将“Two”添加到字符串的末尾,从而产生:
O - n - e - T - w - o - \0
现在你可以看到字符串中唯一的 null 最初是在 "One" 之后,现在它在 "OneTwo" 之后
我的问题是: null 是否被字符串“Two”覆盖,然后在末尾添加自己的 null。
或者是一开始就已经存在的 null 又移回到了末尾?
(这个问题似乎没什么区别,但我想知道我学到的一切)
谢谢
【问题讨论】:
-
如果您使用的是 C++,则不需要
strcat。使用std::string和+=。
标签: c++ character-arrays