在专门使用字符串操作函数strcpy
时,我做了这个小程序。
char s1[8]="Hellopo";
char s2[4]="sup";
strcpy(s1,s2);
cout<<s1<<endl;
当我打印出 s1 它实际上只是打印出“sup”。我希望它打印“suplopo”。
然后我这样做了:
cout<<s1+4 << endl;
它打印出“opo”;
而这个的输出:cout<<s1+3<<endl;
什么都没有
所以在考虑了一下之后。
我得出了这个结论。由于 C++ 一旦到达空终止符就停止输出字符串。因此 null 必须已复制到strcpy
函数中。导致这个字符串:
s - u - p - \0 - o - p - o -\0;
请告诉我这是否正确。如果我不是,请纠正我。
如果您有更多信息要提供,请提供。