C++的iostream标准库之istringstream

王朝c/c++·作者佚名  2006-02-01
窄屏简体版  字體: |||超大  

C++的iostream标准库介绍

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

istringstream类用于执行C++风格的串流的输入操作。

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

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

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

他们的继承关系如下图所示:

istringstream是由一个string对象构造而来,istringstream类从一个string对象读取字符。

istringstream的构造函数原形如下:

istringstream::istringstream(string str);

#include <iostream>

#include <sstream>

using namespace std;

int main()

{

istringstream istr;

istr.str("1 56.7",);

//上述两个过程可以简单写成 istringstream istr("1 56.7");

cout << istr.str()<<endl;

int a;

float b;

istr>>a;

cout<<a<<endl;

istr>>b;

cout<<b<<endl;

system("pause");

}

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

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航