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

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

问题描述:

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

Will the below string contain the null terminator '\0' ?

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.

同样值得一提的是,您可以像其他任何字符一样在字符串中包含空字符。 / p>

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] = '\0';
cout << s.size() << '\n';

打印

5 5

而不是 5 1 ,如果您使用空字符字符串的特殊含义。

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