std::string 是否有空终止符?

2022-01-06 00:00:00 string null c++

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

Will the below string contain the null terminator ''?

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

推荐答案

否,但如果您说 temp.c_str() 一个空终止符将包含在此方法的返回中.

No, but if you say temp.c_str() a null terminator will be included in the return from this method.

还值得一提的是,您可以像任何其他字符一样在字符串中包含空字符.

It's also worth saying that you can include a null character in a string just like any other character.

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

印刷品

5 5

而不是 5 1 ,如果空字符对字符串具有特殊含义,您可能会期望.

and not 5 1 as you might expect if null characters had a special meaning for strings.

相关文章