#include<string>
#include <iostream>
using namespace std;
int main()
{
string str({ 65,'B','\0','D','E' });
string str1({ 97,'b','c','\0','e','f' });
char str2[] = { '1','2','\0','3','4' };
cout << str + str2 + str1 << ", 长度:" << (str + str2 + str1).length() << "\n";
string str3 = (str + str2 + str1).c_str();
cout << str3 << ", 长度:" << str3.length() << "\n";
}
运行结果:
AB DE12abc ef, 长度:13
AB, 长度:2
注意:
string 类的 变量中可以含有 '\0',因为该变量的 length() 即 长度,不是以 '\0' 为结尾,判断该变量的长度的。
只有 C 语言类型的字符串结构,才以 '\0' 为结束,比如:char* 或 char[] 定义的字符数组。