C++ string 字符串 結尾 標志 \0


看個示例

#include<iostream>
#include<string>
using namespace std;
 
int main()
{
	string str = "hello";
	str[3] = '\0';
	cout << str << endl;
	return 0;	
} 
輸出:hel o

應該明白了點什么!在C++中\0不能作為識別string類字符串的結尾
其實C++string類也不需要識別結尾,因為你需要用到的C++的函數庫基本都幫你解決了

再看個例子

#include<iostream>
#include<string>
using namespace std;
 
int main()
{
	string str = "hello";
	int i = 0,len = 0;
	while(str[i++])
	{
		++len;
	}
	cout << "len = " << len << endl;
	cout << "str.length() = " << str.length() << endl;
	return 0;	
} 
輸出:
len = 5
str.length() = 5

兩個值len和str.length()相等,說明len的計算值是對的,也就是說string類結尾處還是有\0的。說明一下我用的dev編譯運行的。至於\0 這是編譯器產商加進去的(根據具體實現而言,有的編譯器就沒加),並非C++本身所要求的,C++並沒有要求string類要有結尾


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM