在C语言中,可以使用strlen函数来获取字符串的长度,然后在字符串的末尾加上一个空字符’\0’来处理字符串的空字符结尾。例如: #include <stdio.h> #include <string.h> int main() { char str[] = "hello"; int len = strlen(str); // 在字符串末尾加上空字符 str[len] = '\0'; printf("处理后...
std::string:标准中未规定需要\0作为字符串结尾。编译器在实现时既可以在结尾加\0,也可以不加。(因编译器不同) 但是C++11,string字符串都是以'\0'结尾。并且,当通过c_str()或data()(二者在 C++11 及以后是等价的)来把std::string转换为const char *时,会发现最后一个字符是\0。 为什么C语言风格的字符...
按C标准规定的话,这样定义的话,string末尾就不会自动添加'\0'了。只有在字符数组的大小足够在常量字符串的末尾还可以追加'\0'时才会追加。只有常量字符串的长度比数组长度还长度情况,编译器才会报警。所以定义时作为字符串使用的数组要确保足够大,大了浪费一点不怕,就怕不够。像这种末尾丢了'\0'...
null-terminatedbyte string, 我感觉它就是不规范的缩写,缩写一般是每个单词的首字母,所以可以是NBS, ...