Chinaunix首页 | 论坛 | 博客
  • 博客访问: 8133421
  • 博文数量: 594
  • 博客积分: 13065
  • 博客等级: 上将
  • 技术积分: 10324
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-26 16:44
个人简介

推荐: 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当字节流使.pdf

 

stringC++标准定义的字符串类,它不但支持文本,而且支持二进制字节流。给一个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)也可以。
阅读(2047) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~