定义:
以空字符 null 结束的字符数组。如:
char ca1[] = {'C', '+', '+'}; // 没有以null字符结尾,不是C风格字符串
char ca2[] = {'C', '+', '+', '/0'}; // 以null字符结尾,是C风格字符串
char ca3[] = "C++"; // 隐式以null字符结尾,是C风格字符串
const char *cp = "C++"; // 隐式以null字符结尾,是C风格字符串
C风格字符串是只读的,不允许修改,但可以使用它们来生成新的字符串。
遍历C风格字符串:
const char *cp = "some value"; // 因为只读,所以使用const
while (*cp) {
cout << cp << endl;
++cp;
}
处理C风格字符串:
c_str函数实现string与C风格字符串转换:
char *str = st2.c_str();
注意:直接使用string初始化C风格字符串不可。
char *str = st2; // compile-time type error
使用cstring头文件中定义的标准库函数。