string类位于 string 头文件的 std 命名空间中。cstring 头文件是C风格字符串库。
4.3.1 C++11字符串初始化
示例:
char data1[] = {"abc"};
char data2[]{"abc"};
string data3 = {"abc"};
string data4{"abc"};
4.3.2 赋值、拼接、附加
使用 string 类的一个好处是:可以将一个 string 对象赋给另一个 string 对象,而数组之间不可以。
可以使用 + 将两个 string 对象合并起来,使用+= 将附加到末尾。
4.3.3 其他操作
//使用 strcpy() 将字符串复制到字符数组中
strcpy(list1, list2);
//使用 strcat() 将字符串附加到字符数组末尾
strcat(list1, list2);
4.3.4 其他形式的字符串字面值
C++使用前缀 L、u、U 表示 wchar_t、char16_t、char32_t:
wchar_t str1[] = L"abc";
char16_t str2[] = u"abc";
char32_t str3[] = U"abc";
C++11新增原始字符串(raw)。在原始字符串中,字符表示是就是自己。例如,\n 表示两个字符:斜杠和 n。另一个例子是,可在字符串中使用 “ 而无需使用繁琐的 \”。示例:
//原始字符串格式
cout << R"Jim "King" Tutt uses "\n" instead of endl." << '\n';
//标准字符串格式
cout << "Jim \"King\" Tutt uses \"\\n\" instead of endl." << '\n';