我有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