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.