64,636
社区成员
发帖
与我相关
我的任务
分享
#include <iostream>
#include <string>
using namespace std;
int main(){
string a("123abc");
a.push_back('4');
a.push_back('\0');
a.push_back('4');
cout<<a;
cout<<"\n"<<a.size()<<"\n";
return 0;
}
输出的结果是:
123abc44
9
字符串长度是9, 说明包含的push_back进去的'\0'
但输出只有8个字符, 因为'\0'不是一个可显示字符, 所以不会显示在屏幕上.
因此, 结论应该是 string里可以push_back '\0'[/quote]
push_back 是可以,如果用append追加的话,append会不会处理掉?#include <iostream>
#include <string>
using namespace std;
int main(){
string a("123abc");
a.push_back('4');
a.push_back('\0');
a.push_back('4');
cout<<a;
cout<<"\n"<<a.size()<<"\n";
return 0;
}
输出的结果是:
123abc44
9
字符串长度是9, 说明包含的push_back进去的'\0'
但输出只有8个字符, 因为'\0'不是一个可显示字符, 所以不会显示在屏幕上.
因此, 结论应该是 string里可以push_back '\0'