C++

C++ 中stringstream 的2种重要作用:类型转换,词句转换

内容概要: c++ stringstream作用 stringstream用法

TheHuPost newsletter上线了, 欢迎大家订阅! 
对C++, Java,JavaScript,Python等编程语言有兴趣的,也可以看看编程语言。 
也欢迎大家来论坛与我讨论

c++ stringstream作用

C++中标准IO库有三大类

  • iostream :  支持对标准输入输出设备(键盘,显示器)的读写;
  • fstream: 支持对文件的读写;
  • stringstream: 支持对string 对象更灵活的处理;

c++ stringstream作用 :类型转换,词句转换

stringstream 一般可以用来实现安全的数据类型转换

以int 类型为例

int 类型转string 类型

int a = 50;
   string b;
   stringstream ss;
   ss << a;
   ss >> b;

// 转换后 b="50";

string 类型转int

int a ;
   string b = "100";
   stringstream ss;
   ss << b;
   ss >> a;

// a= 100

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 实现句子与单个单词之间的转换

c++ stringstream作用 除了上面的类型转换,还可以用来实现句子和单词直接的相互转换

句子转为单个的词

string a ="how old are you , dear ?";
   stringstream ss;
   ss << a;
   string b;
   while(ss >> b)
   {
       cout <<b<<endl;
   }

单个的词拼接为句子

 stringstream ss;
   ss << "how"<<" "<<"old"<<" "<<"are"<<" "<<"you"<<" "<<","<<"dear"<<" "<<"?";
   string b;
   b = ss.str();
   cout<<b<<endl;

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top