1. ホーム
  2. c++

[解決済み] Ίταμμα για για για για για

2022-03-04 13:42:26

質問

以下のコードで、2箇所ある'˶'ᵕᴗᵕ'の意味がわかりません。

string x = "hhhdef\n";
cout << x << endl;
x[3]='\0';
cout << x << endl;
cout<<"hhh\0defef\n"<<endl;

結果

hhhdef

hhhef

hhh

どなたかご指摘をお願いします。

どのように解決するのですか?

C++ std::string の文字列はquot;counted"であり、その長さは整数として保存され、任意の文字を含むことができます。3文字目を \0 他の文字と同じように表示されます(特に、コンソールでは単に無視されます)。

最後の行では、代わりにC言語の文字列を表示していますが、その末尾は最初の \0 が見つかりました。このような場合 cout を見つけるまで文字を表示し続けます。 \0 この場合、3つ目の h .