
string是C++标准定义的字符串类,它不但支持文本,而且支持二进制字节流。给一个string变量赋值有多种方法:
1) 拷贝构造函数
2) 等号赋值函数
3) append成员函数
4) push_back成员函数
5) insert成员函数
请运行下段代码,并查看它的输出:
#include
int main()
{
using namespace std;
char s[10] = {0};
memset(s, 'a', 5);
string str1 = s;
string str2;
str2 = s;
string str3;
str3.assign(s, 10);
string str4;
str4.assign(str3.data(), str3.size());
string str5 = str4;;
string str6;
str6 = str4;
printf("%u:%s\n", str1.size(), str1.c_str());
printf("%u:%s\n", str2.size(), str2.c_str());
printf("%u:%s\n", str3.size(), str3.c_str());
printf("%u:%s\n", str4.size(), str4.c_str());
printf("%u:%s\n", str5.size(), str5.c_str());
return 0;
}
运行后输出为:
> ./x
5:aaaaa
10:aaaaa
注:除了使用assign函数外,string的构造函数string(char*, size_t)也可以。