使用(C++库)istringstream输入(格式化)

原创 2007年09月28日 16:11:00

 

转自:

http://dev.csdn.net/article/77/77033.shtm

http://www.chinaitpower.com/A/2002-04-21/20488.html

    C++引入了ostringstreamistringstreamstringstream这三个类,要使用他们创建对象就必须包含sstream.h头文件。

 

  istringstream类用于执行C++风格的串流的输入操作。
  stringstream类同时可以支持C++风格的串流的输入输出操作。

  strstream类同时可以支持C风格的串流的输入输出操作。

 

 

 

  istringstream类是从istream(输入流类)和stringstreambasec++字符串流基类)派生而来,ostringstream是从ostream(输出流类)和stringstreambasec++字符串流基类)派生而来,stringstream则是从iostream(输入输出流类)和和stringstreambasec++字符串流基类)派生而来。

#include <iostream>
#include 
<sstream>
#include 
<string>
using namespace std;

void test()
...{
    
...{
        
//istringstream iss;
        
//iss.str("#123 1.23 aaa ,zzz kk,k oo.jjj");
        istringstream iss("#123 1.23 aaa ,zzz kk,k oo.jjj");
        
        cout 
<< iss.str() << endl;

        
char ch;
        iss 
>> ch;
        cout 
<< ch << endl;

        
int i;
        iss 
>> i;
        cout 
<< i << endl;

        
float f;
        iss 
>> f;
        cout 
<< f << endl;

        
char buf[1024];
        iss 
>> buf;
        cout 
<< buf << endl;

        iss.ignore(
100',');
        iss 
>> buf;
        cout 
<< buf << endl;
    }

}


int main(int argc, char* argv[])
...{   
    test();
    
return 0;
}

 

  上例中,构造字符串流的时候,空格会成为字符串参数的内部分界,例子中对a,b对象的输入"赋值"操作证明了这一点,字符串的空格成为了整型数据与浮点型数据的分解点,利用分界获取的方法我们事实上完成了字符串到整型对象与浮点型对象的拆分转换过程。

 

 

 

  str()成员函数的使用可以让istringstream对象返回一个string字符串(例如本例中的输出操作(cout<<istr.str();)

 

 

 

C++中的istringstream 的用法

istringstream是一个比较有用的c++的输入输出控制类。 C++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须...
  • longzaitianya1989
  • longzaitianya1989
  • 2016年10月24日 11:02
  • 2108

C++ ostringstream、istringstream、stringstream 用法浅析

ostringstream : 用于执行C风格字符串的输出操作。 istringstream : 用于执行C风格字符串的输入操作。 stringstream : 同时支持C风格字符串的输入输出...
  • hellokandy
  • hellokandy
  • 2017年01月17日 17:35
  • 2386

C++ - 格式化输入输出(formatted input and output) 的 详解 及 代码

格式化输入输出(formatted input and output) 的 详解 及 代码 本文地址: http://blog.csdn.net/caroline_wendy/article/de...
  • u012515223
  • u012515223
  • 2013年12月16日 20:06
  • 3270

C++输入输出流之格式化I/O

ios类成员主要通过对状态标志、输出宽度,填充字符,输出精度的操作来完成对I/O的格式化。 ios状态标志: skipws跳过输入中的空白符, left输出左对齐,right,internal符号左对...
  • u010396104
  • u010396104
  • 2015年04月10日 08:42
  • 674

c++中istringstream stream(line);

c++中istringstream stream(line); 流都很类似 比如:输入输出流 就是cin cout 从控制台读入写出 字符串流也类似,只是重定向到字符串。istrings...
  • pingxu1987
  • pingxu1987
  • 2014年01月20日 17:53
  • 1729

C/C++编程操作IIS7

由于IIS6与IIS7以后的编程接口更改,导致IIS6的项目无法访问IIS7,研究了几天时间,终于有些眉目,现在记录如下。 首先需要说明如下问题: 1.iis7以后的版本不再支持nntp (http:...
  • xiejianjun417
  • xiejianjun417
  • 2014年01月10日 10:17
  • 2178

C++输入输出格式问题

为什么c++中输入一个整数后,再输入一个带空格的字符串会输入不了字符串? 因为cin通过空格、换行符、制表符来确定结束位置,所以只有1被附给data,如果你要将“1 2 3 4 55”作为一个...
  • longlovefilm
  • longlovefilm
  • 2017年09月21日 22:27
  • 104

istringstream 不能按空格分割字符串原因之一

天惹撸,不要把ends当做高大上的空格呀
  • lin_strong
  • lin_strong
  • 2016年08月19日 22:14
  • 722

delphi 怎么将一个流转换成字符串?或者将字符串转出一个流

(*// 标题:充分利用pascal字符串类型 说明:和PChar不同,string可以保存#0字符在其中;示例文件、内存流字符串之间转换 设计:Zswang 日期:2002-...
  • wozengcong
  • wozengcong
  • 2016年02月27日 14:42
  • 1047

关于stringstream的格式化的注意事项(转载)

From: http://www.usidcbbs.com/read-htm-tid-1898.html C++引入了ostringstream、istringstream、stringstre...
  • superql
  • superql
  • 2012年08月03日 12:57
  • 3012
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:使用(C++库)istringstream输入(格式化)
举报原因:
原因补充:

(最多只允许输入30个字)