写东西时发现在这种情况下,string的length值错误:
// 示例
char c[6];
//给c赋值
c[0] = 'A';
c[1] = 'B';
c[2] = 'C';
c[3] = 'D';
c[4] = 'E';
c[5] = 'F';
std::string str = std::string(c);
std::cout<<str.length()<<"\n";
因为这种情况string没法根据'\0'判断结尾,所以可以有这几种修改办法:
std::string str = std::string(c,6);
char c[7];
c[6] = '\0';
std::string str = std::string(c);