首页 >后端开发 >C++ >std::string 是否包含空终止符?

std::string 是否包含空终止符?

Patricia Arquette
Patricia Arquette原创
2024-12-05 04:24:11279浏览

Does std::string Include a Null Terminator?

std::string 是否包含空终止符?

C 中的 std::string 类本身并不包含像 C 风格一样的空终止符 (' ') strings.

问题:

下面的字符串是否包含空终止符' '?

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

答案:

。 std::string 将其数据内部存储在不带空终止符的字符数组中。

说明:

但是,如果您使用 temp 访问 C 样式字符串表示形式.c_str(),返回的字符串中将包含空终止符。

附加信息:

  • 您可以像任何其他字符一样在 std::string 中包含空字符,如以下示例所示:
string s("hello");
cout << s.size() << ' ';
s[1] = '';
cout << s.size() << '\n';
  • 这段代码打印“5 5”,说明空字符不影响字符串的大小。

以上是std::string 是否包含空终止符?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn