特に文字列操作関数を使用しながら、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ターミネータに達すると、文字列の出力を停止するためです。したがって、nullはstrcpy
関数にコピーされている必要があります。結果は次のようになります。
s --u --p-\ 0 --o --p --o-\ 0;
これが正しいかどうか教えてください。そして、私がそうでない場合は、私を訂正してください。
そして、あなたが提供するためにもっと情報を持っているならば、してください。