蓝天

将std::string当字节流使

stringC++标准定义的字符串类,它不但支持文本,而且支持二进制字节流。给一个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\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());

        printf("%u:%s\n", str6.size(), str6.c_str());

 

        str6.append(str5);

        str5.append(str4.c_str());

        printf("%u:%s\n", str5.size(), str5.c_str());

        printf("%u:%s\n", str6.size(), str6.c_str());

 

        return 0;

}

 

运行后输出为:

> ./x

5:aaaaa

5:aaaaa

10:aaaaa

10:aaaaa

10:aaaaa


posted on 2014-05-02 10:42  #蓝天  阅读(880)  评论(0编辑  收藏  举报

导航