储存字符串的三种形式(string,char*,字符数组)都会在字符串结尾封装\0吗?

如题所述

当把一个字符串常量或字符串数组拷贝到另一个字符数组或拷贝到char *型指针所指的空间时才会在最后自动添加'\0';用字符串初始化字符数组或字符指针指向的空间时也自动添加'\0';字符串输入库函数在从键盘接收一个字符串时也会自动在最后添加'\0'。其余不能整体操作的情况不会自动添加'\0',需要时得由程序员写入添加语句。string类的对象与char数组处理字符串不同,它的字符串并不以'\0'结束,所以不存在添加不添加'\0'的问题,需要转换成char型字符串时得调用其成员函数c_str来做转换操作。
温馨提示:答案为网友推荐,仅供参考