将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 ", 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


原文地址:https://www.cnblogs.com/aquester/p/9891607.html