推荐: blog.csdn.net/aquester https://github.com/eyjian https://www.cnblogs.com/aquester http://blog.chinaunix.net/uid/20682147.html
全部博文(594)
分类: C/C++
2014-05-02 10:45:29
string是C++标准定义的字符串类,它不但支持文本,而且支持二进制字节流。给一个string变量赋值有多种方法:
1) 拷贝构造函数
2) 等号赋值函数
3) append成员函数
4) push_back成员函数
5) insert成员函数
请运行下段代码,并查看它的输出:
#include
#include
#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 5:aaaaa 10:aaaaa 10:aaaaa 10:aaaaa |
注:除了使用assign函数外,string的构造函数string(char*, size_t)也可以。