【转】C++的iostream标准库介绍(2)——istringstream

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();)。

posted on 2009-07-05 16:37 碧云天 阅读(366) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理


<2024年12月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

导航

统计

常用链接

留言簿(1)

随笔分类

随笔档案

文章分类

文章档案

收藏夹

Emgu CV ——c#版的opencv

Help

搜索

最新评论

阅读排行榜

评论排行榜