string是C++标准定义的字符串类,它不但支持文本,而且支持二进制字节流。给一个string变量赋值有多种方法:
1) 拷贝构造函数
2) 等号赋值函数
3) append成员函数
4) push_back成员函数
5) insert成员函数
请运行下段代码,并查看它的输出:
#include <stdlib.h> #include <stdio.h> #include <string> 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 ", str1.size(), str1.c_str()); printf("%u:%s ", str2.size(), str2.c_str()); printf("%u:%s ", str3.size(), str3.c_str()); printf("%u:%s ", str4.size(), str4.c_str()); printf("%u:%s ", str5.size(), str5.c_str()); printf("%u:%s ", str6.size(), str6.c_str()); str6.append(str5); str5.append(str4.c_str()); printf("%u:%s ", str5.size(), str5.c_str()); printf("%u:%s ", str6.size(), str6.c_str()); return 0; } |
运行后输出为:
> ./x 5:aaaaa 5:aaaaa 10:aaaaa 10:aaaaa 10:aaaaa |