string、vector 互转

  1.  

string 转 vector

vector  vcBuf;
string        stBuf("Hello DaMao!!!");
----------------------------------------------
vcBuf.resize(stBuf.size());
vcBuf.assign(stBuf.begin(), stBuf.end());

vector 转 string 

stBuf.clear();
stBuf.assign(vcBuf.begin(), vcBuf.end());

有时候也会遇到std:vector与转std:string 相互转换的情况。

首先看一下vector<char>如何转string:

  1. std::vector<char> *data = response->getResponseData();
  2. std::string res;
  3. //方法一
  4. for (int i = 0;i<data->size();++i) {
  5. res+=(*data)[i];
  6. }
  7. res+='\0';
  8. std:cout << res;
  9. //方法二
  10. std::vector<char> *data = response->getResponseData();
  11. std::string res;
  12. res.insert(res.begin(), data->begin(), data->end());
  13. std::cout << res;
  14. //方法三
  15. std::vector<char> *data = response->getResponseData();
  16. std::string res;
  17. const char* s = &(*data->begin());
  18. res = std::string(s, data->size());
  19. std::cout << res;
  20. //方法四
  21. string ch = "what a fucking day!";
  22. vector <char> ta;
  23. ta.resize(ch.size());
  24. ta.assign(ch.begin(),ch.end());

string 转vector就会更容易:

  1. vector <char> ta = {‘a’, 'b', 'c'};
  2. ch.clear();
  3. ch.assign(ta.begin(),ta.end());

================================================================ 
vector to stringstream

  1. #include <iostream>
  2. #include <sstream>
  3. #include <vector>
  4. #include <string>
  5. #include <iterator>
  6. // Dummy std::vector of strings
  7. std::vector<std::string> sentence;
  8. sentence.push_back("aa");
  9. sentence.push_back("ab");
  10. // Required std::stringstream object
  11. std::stringstream ss;
  12. // Populate
  13. std::copy(sentence.begin(), sentence.end(),std::ostream_iterator<std::string>(ss,"\n"));
  14. // Display
  15. std::cout<<ss.str()<<std::endl;
 

实战c++中的string系列--std:vector 和std:string相互转换(vector to stringstream)的更多相关文章

  1. 实战c++中的string系列--不要使用memset初始化string(一定别这么干)

    參考链接: http://www.cppblog.com/qinqing1984/archive/2009/08/07/92479.html 百度百科第一次这么给力: void *memset(voi ...

  2. 实战c++中的vector系列--vector应用之STL的find、find_if、find_end、find_first_of、find_if_not(C++11)

    使用vector容器,即避免不了进行查找,所以今天就罗列一些stl的find算法应用于vector中. find() Returns an iterator to the first element ...

  3. 实战c++中的vector系列--知道emplace_back为何优于push_back吗?

    上一篇博客说道vector中放入struct.我们先构造一个struct对象.再push_back. 那段代码中,之所以不能使用emplace_back,就是由于我们定义的struct没有显示的构造函 ...

  4. 实战c++中的vector系列--再谈vector的insert()方法(都是make_move_iterator惹的祸)

    之前说过了关于vector的insert()方法,把vector B的元素插入到vector A中.vector A中的结果我们可想而知,可是vector B中的元素还会怎样? 看看之前写过的程序: ...

  5. 实战c++中的vector系列--copy set to vector(别混淆了reserve和resize)

    stl算法中有个copy函数.我们能够轻松的写出这种代码: #include <iostream> #include <algorithm> #include <vect ...

  6. 实战c++中的vector系列--将迭代器转换为索引

    stl的迭代器非常方便 用于各种算法. 可是一想到vector.我们总是把他当做数组,总喜欢使用下标索引,而不是迭代器. 这里有个问题就是怎样把迭代器转换为索引: #include <vecto ...

  7. 实战c++中的vector系列--构造、operator=和assign差别

    vector或许是实际过程中使用最多的stl容器.看似简单,事实上有非常多技巧和陷阱. 着重看一看vector的构造,临时依照C++11: default (1) explicit vector (c ...

  8. 实战c++中的vector系列--creating vector of local structure、vector of structs initialization

    之前一直没有使用过vector<struct>,如今就写一个简短的代码: #include <vector> #include <iostream> int mai ...

  9. 实战c++中的string系列--十六进制的字符串转为十六进制的整型(一般是颜色代码使用)

    非常久没有写关于string的博客了.由于写的差点儿相同了.可是近期又与string打交道,于是荷尔蒙上脑,小蝌蚪躁动. 在程序中,假设用到了颜色代码,一般都是十六进制的,即hex. 可是server ...

随机推荐

  1. 大规模异常滥用检测:基于局部敏感哈希算法——来自Uber Engineering的实践

    uber全球用户每天会产生500万条行程,保证数据的准确性至关重要.如果所有的数据都得到有效利用,t通过元数据和聚合的数据可以快速检测平台上的滥用行为,如垃圾邮件.虚假账户和付款欺诈等.放大正确的数据 ...

  2. C#屏蔽Alt+F4组合键

    在开发的软件不希望用户关闭的情况下,或者我们不想用户回到桌面,这时候我们就需要屏蔽windows键,或者Alt + F4 键等. //1.将窗体的属性KeyPrieview设置为true //keyp ...

  3. springboot进行热部署项目

    百度了挺多的热部署,一种就是idea中一个插件,但是听说还需要 花钱,而且效果还是不太好. 自己按照网上的经验配置了一种属于自己的热部署,下面是详细的配置过程: 一.就是引入热部署需要的依赖: < ...

  4. 【测试用例工具】TestLink教程:一份完整指南(转)

    转自:https://blog.csdn.net/cjtxzg/article/details/80498226 TestLink教程:一份完整指南1 TestLink的优点 登录到TestLink ...

  5. Tensorflow细节-P174-真正的图像预处理

    注意这里的读取image_raw_data = tf.gfile.FastGFile("./datasets/cat.jpg", "rb").read(),写入 ...

  6. flask入门脚本解释

    创建一个最小的flask应用, 稍做编辑如下, 开启debug调试模式后, 服务器自动加载服务器的修改. 如何自己构建一个优雅的url呢 http方法介绍 http访问urls的方法有get, pos ...

  7. apt-get linux 虚拟机安装vm tools下载

    要重启机器才行D:\Program Files (x86)\linux.iso解压tar zxvf VMwareTools-9.9.0-2304977.tar.gz

  8. 数据科学速查手册(包括机器学习,概率,微积分,线性代数,python,pandas,numpy,数据可视化,SQL,大数据等方向)

    介绍:https://redstonewill.com/2372/ 项目网址:https://github.com/FavioVazquez/ds-cheatsheets

  9. 利用HTML和CSS设计一个静态的“小米商城官网首页”

    一.小项目说明 这是个例行的小项目练习,主要利用html和css的基础知识,复刻一个缩减版的小米商城网页.包括[导航栏].[头部logo区,快捷键.搜索框].[网页主体].[网页尾部]几个部分.目前只 ...

  10. C语言的柔性数组的实现及应用

    c编程的时候数组长度一般都是固定好的,实际上c还能实现变长数组.其实c99中确实是有变长数组的说法,C99中通过允许结构体中的最后一个成员是长度未知的数组实现变长数组,其定义格式如下: typedef ...