云南省政府网站建设长春网站开发
C语言中使用char数组保存字符串时,是以字符为0或者'\0'作为字符串的结束符标志的。
所以一个char str[10]的数组只能合法的保存9个字符(因为最后还要加一个结束符)。
#include <cstring>
#include <iostream>using namespace std;int main()
{char str[10] ="123456789";int len = strlen(str);cout<<str<<" len:"<<len<<endl;return 0;
}
运行程序输出:
123456789 len:9
C++使用了string对象来保存字符串,string对象并不需要通过这个额外的'\0'作为结束字符
#include <string>
#include <iostream>using namespace std;int main()
{string str ="123456789";cout<<"str:"<<str<<" length:"<<str.length()<<" capacity:"<<str.capacity()<<endl;str.push_back('\0');str.push_back('0');cout<<"str:"<<str<<