1. ホーム
  2. c++

[解決済み] std::stringにはヌル末端がありますか?

2022-12-21 20:16:38

質問

以下の文字列はヌル文字を含むか? '\0' ?

std::string temp = "hello whats up";

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

いいえ、しかし、あなたが言うなら temp.c_str() と書くと、このメソッドからの戻り値に null の終端記号が含まれます。

他の文字と同じように、文字列の中にNULL文字を含めることができることも言っておく価値があります。

string s("hello");
cout << s.size() << ' ';
s[1] = '\0';
cout << s.size() << '\n';

プリント

5 5

でなく 5 1 というように、NULL文字が文字列に対して特別な意味を持っていることが予想されます。