c++ stringstream

stringstream  位于标准库<sstream>中,使用前需要include;

这里记录了stringstream两个应用,一个是类型的转化,另一个可以用来分割字符串,实现split功能;

下面是记录:

  1. 类型的转化;

  使用stringstream可以实现各种类型间的相互转化;

      操作与一般输入输出流相同,使用>>与<<控制输入输出流向;

 

1 stringstream ss;
2 string b;
3 int i=123;
4 
5 ss<<i;
6 ss>>b;
7 
8 //此时b输出为123;

 

 

       应该注意的是,在用同一个stringstream变量进行两次以上的转化时,需要使用ss.clear()进行重制,否则输出的结果会有错误;

  另外还需要注意内存的释放,在多次使用后,注意使用ss.str("")清空内存,用.clear()仅仅是重制;

  2.stringstream和getline()实现分割split功能;

  c++里没有像python等语言里的split函数,这两搭档就可以实现split函数,很方便;

  使用样例:

string s="wzm/123/zms/"

stringstream ss(s);
string temp; while(getline(ss,temp,'/'))//可以控制分隔符 cout<<temp<<endl; //此时输出为 //wzm //123 //zms

原文地址:https://www.cnblogs.com/mckc/p/9671017.html