1.stringstream类型转换用法
streamstring在调用str()时,会返回临时的string对象。而因为是临时的对象,所以它在整个表达式结束后将会被析构。
如果需要进一步操作string对象,先把其值赋给一个string变量后再操作。
//sample
stringstream ss("012345678901234123456789");
//错误
const char* cstr2 = ss.str().c_str();
//正确
const string& str2 = ss.str();
const char* cstr2 = str2.c_str();
//stringstream清空缓冲区
stringstream stream(“abcdefghi”);
stream.str(“”);2.string转vector<float>类型
#include <iostream>
#include <vector>
#include <sstream>
#include <string>
using namespace std;
//1.string类型转vector<float>类型
void string_to_vector_float(std::vector<float>& fea){string str = "-0.0647031 -0.0206785 -0.0439941 -0.0323903 -0.0139745 -0.0208939 0.0289745 0.0277657 -0.0807781 -0.0288254";stringstream ss(str);string buf;vector<float> vec;//vector<float> vec(1024);//可以初始化时指定vecrot容器大小while(ss >> buf)vec.push_back(atof(buf.c_str()));cout <<"vector容器大小: "<< vec.size() << endl;cout <<"vector容器容量: "<< vec.capacity() << endl;fea = vec;
}int main()
{vector<float> vec;string_to_vector_float(vec);//1.C++11 usage:打印结果
#if 0for(auto ff : vec)cout << ff << endl;
#endif//2.打印结果for(int i = 0; i < vec.size(); i++){if(i < 255)cout  << vec[i] << " " ;else if(i == 255)cout  << vec[i] ;}cout  << endl;return 0;
}3.vector<float>转string类型
#include <iostream>
#include <string>
#include <fstream>
#include <sstream>
#include <cassert>
#include "json/json.h"
#include <vector>
using namespace std;int ReadFromFile(string fileName)
{ifstream fin;fin.open(fileName);assert(fin.is_open());Json::Reader reader;Json::Value  root;if(reader.parse(fin, root, false) != true)return -1;cout << "arraySize = " << root["name"].size() << endl;cout << "my name is:" << root["name"] << endl;
}int WriteToFile(string fileName)
{ofstream fout;fout.open(fileName);assert(fout.is_open());Json::Value root;//root["array"]["array1"]["name"] = "xiaozhao";root["name"] = "xiaozhao";fout << root.toStyledString() << endl;fout.close();return 0;
}void vec2string(vector<float> &feature, string &f_data){std::stringstream ss;for(int i = 0; i < 15; i++){feature.push_back(i);}cout << "v.size() = " << feature.size() << endl;for(size_t i = 0; i < feature.size(); ++i){if(i != 0)ss << " ";ss << feature[i];}f_data = ss.str();cout << "ss = " << ss.str() << endl;ss.str(“”);//使用同一个stringstream对象,需要使用其对象方法str来重置stringstream的buffer,这样能确保stringstream占用的内存不会越积越多。cout << "ss = " << ss.str() << endl;
}int main()
{string str;//WriteToFile("test.json");//ReadFromFile("test.json");vector<float> fea;vec2string(fea, str);cout << “str = “ << str << endl;return 0;
}Json for C++库下载:
# git clone https://gitee.com/Tocy/SampleCode

C++ string与vectorfloat类型相互转换之stringstream相关推荐

  1. golang 中string和int类型相互转换

    总结了golang中字符串和各种int类型之间的相互转换方式: string转成int: test_int, err := strconv.Atoi(test_string) if err != ni ...

  2. Go 中string和int类型相互转换

    string转成int: int, err := strconv.Atoi(string) string转成int64: int64, err := strconv.ParseInt(string, ...

  3. golang string转int8_golang 中string和int类型相互转换

    Notepad++ 默认快捷键 Notepad++绝对是windows下进行程序编辑的神器之一,要更快速的使用以媲美VIM,必须灵活掌握它的快捷键,下面对notepad++默认的快捷键做个整理(其中有 ...

  4. QString和string类型相互转换

    转自:http://blog.csdn.net/yang_hui1986527/article/details/5273805 在使用QT和C++进行开发的时候,由于两者的数据类型不完全相同,需要进行 ...

  5. c 语言 string类型转换,用标准c++实现string与各种类型之间的转换

    要实现这个目标,非stringstream类莫属. 这个类在头文件中定义, < sstream>库定义了三种类:istringstream.ostringstream和stringstre ...

  6. java中三种转string的方法_java中int,char,string三种类型的相互转换

    如何将字串 String 转换成整数 int? int i = Integer.valueOf(my_str).intValue(); int i=Integer.parseInt(str); 如何将 ...

  7. golang string转int8_Go教程:23 string转换int类型方法对比

    Go教程:23 string转换int类型方法对比 Go语言时一个强类型的语言,但是强类型的语言有也强类型的语言的烦恼.这个烦恼就是类型转换, 接下来我们就讲解一下怎么把 string 类型变量转换成 ...

  8. String和数据库类型的相互转化

    String和数据库类型的相互转化 1.String和data的相互转换 ​ 1.1.Date转换成String SimpleDteFromat simple=new SimpleDateFromat ...

  9. [Vue3]Console报错:不能将类型“string”分配给类型Refstring

    [Vue3]Console报错:不能将类型string分配给类型Ref<string> const realtime = ref('');realtime='errui';//error ...

最新文章

  1. 图形显卡_显卡缺货?专业图形卡主机方案演示,Quadro P2200
  2. 免费短信猫开发包dll函数解析及下载
  3. Basic Level 1023. 组个最小数 (20)
  4. Spring源码-applicationcontext.xml解析过程
  5. Effective C#(二)
  6. arduino定时器函数如何使用_excel如何使用函数公式来查找图片
  7. HDU-2159 FATE 二维背包
  8. C语言基础之数据结构
  9. java 获取子线程_Java 主线程获取子线程返回结果
  10. python中的zip是什么意思_python中zip是什么函数
  11. 8. 字符串转换整数 (atoi)(正则表达式)
  12. 项目经理修炼手册,泄露章节 ,项目经理需要注意的习惯
  13. 关于 Linux 的配置文件 /etc/profile 路径出错后相关的命令失效解决方式(如:ls,vi不能用)...
  14. 深入浅出详解因子分析,附案例教学(全)
  15. Pandas缺失值inf与nan处理实践
  16. android 投屏 车载,车载投屏怎么连接
  17. LearnOpenGL学习笔记—入门03:Hello Triangle
  18. 公司注册的种类及英文缩写
  19. MFC单文档之给主窗口添加背景图片
  20. Redhat 7 安装 iftop软件

热门文章

  1. mysql5.5.17源代码安装
  2. CentOS-6.4 安装 Memcached
  3. 创建一个带有Event Receiver的List Definition
  4. 软件开发者优质资源网站
  5. C中位域Struct操作
  6. NMS 原理和c++实现,已测试通过
  7. pandas数据处理实践一(简单走一遍)
  8. 微信公众号接入百度天气API接口
  9. 台式电脑主板插线步骤图_主板电池怎么放电?电脑主板电池放电的方法
  10. linux redis 高级命令,Redis高级用法