には現在、最初のsで、この小さなプログラムC++:strcat()はnullを上書きまたは移動しますか?
char s[20]="One";
strcat(s,"Two");
cout<<s<<endl;
を見ることができます値 "ワン" を持っているし、視覚的に表現するために、これはsの値である:
O - N - E - \ 0
そして、私はこれを生産する文字列の末尾に "二" を追加します。
O - N - E - T - ワット - O - \ 0
今、あなたが見ることができるよう"OneTwo"の後ろにある "One"の後の文字列の唯一のヌルです。
私の質問は です。文字列 "Two"でヌルを上書きし、最後にnullを追加します。
また、最初に既に存在していたヌルは、もう一度最後に移動しましたか?
(この質問は違いをしないように見えるかもしれないが、私は私が学ぶすべてについて知りたい)
はい、strcat
の最初の引数の\0
が上書きされます、そして、それはなったあなたに
C++を使用している場合、 'strcat'は必要ありません。 'std :: string'と' + = 'を使ってください。 – Drise