C++中标准IO库有三大类
iostream : 支持对标准输入输出设备(键盘,显示器)的读写;
fstream: 支持对文件的读写;
stringstream: 支持对string 对象更灵活的处理;
作用:类型转换,词句转换
一. stringstream 一般可以用来实现安全的数据类型转换:
以int 类型为例
1. int 类型转string 类型
int a = 50;
string b;
stringstream ss;
ss << a;
ss >> b;
// 转换后 b="50";
2. string 类型转int
int a ;
string b = "100";
stringstream ss;
ss << b;
ss >> a;
// a= 100
3. string 转wstring (wstring -> string)
string -> int -> wstring
===========================================
int a;
string b = "100";
wstring c;
stringstream ss;
ss << b;
ss >> a;
cout<<a<<endl;
wstringstream ws;
ws << a;
ws >> c;
wcout<<c<<endl;
=============================================
此种转换有一定的局限性,只能用于string 内容为数字的转换;
二. 利用stringstream 实现句子与单个单词之间的转换;
1. 句子 转为单个的词
string a ="how old are you , dear ?";
stringstream ss;
ss << a;
string b;
while(ss >> b)
{
cout <<b<<endl;
}
2. 单个的词拼接为句子
stringstream ss;
ss << "how"<<" "<<"old"<<" "<<"are"<<" "<<"you"<<" "<<","<<"dear"<<" "<<"?";
string b;
b = ss.str();
cout<<b<<endl;