我有std::string
问题..的std :: string停止在 0
问题是,'\0'
被识别为字符串作为在类C的串的结束。
例如下面的代码:
#include <iostream>
#include <string>
int main()
{
std::string s ("String!\0 This is a string too!");
std::cout << s.length(); // same result as with s.size()
std::cout << std::endl << s;
return 0;
}
输出这样的:
7
String!
这里有什么问题吗? std::string
不应该与其他任何角色一样对待'\0'
吗?
为什么它是一个问题? – klutt
因为C++字符串不应该是空终止(我认为),应该像对待任何其他字符 – galaxyworks
是的,但是这并不回答我的问题。 :)为什么你在第一个字符串中有一个\ 0?无论如何,这不是一个可打印的字符。 – klutt