使用(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这三个类,要使用他们创建对象就必须...

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

ostringstream : 用于执行C风格字符串的输出操作。 istringstream : 用于执行C风格字符串的输入操作。 stringstream : 同时支持C风格字符串的输入输出...

c++中istringstream stream(line);

c++中istringstream stream(line); 流都很类似 比如:输入输出流 就是cin cout 从控制台读入写出 字符串流也类似,只是重定向到字符串。istrings...

c++ 的string的格式化方法

1.  string strResult,str; double a=35.000,b=14.967; std::ostringstream o...
  • gll028
  • gll028
  • 2013-12-01 14:04
  • 4235

c++中如何用string实现CString格式化的功能

c++中如何用string实现CString格式化的功能 内容目录: 也就是实现类似下面的功能: CString str; double d = 10.24; str.For...

string类型的格式化输出

在c语言中,对于char类型,我们有spirntf、snprintf进行格式化输出,但是string类型对格式化输出的支持不是很理想; 例如对于功能 sprintf(str, "bob's addre...

2016 ThoughtWorks 校招编程作业

import java.text.SimpleDateFormat; import java.util.Calendar; public class Test { public static in...

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

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

2017 ThoughtWorks校招编程作业(C++版)

题目小明是一个羽毛球爱好者,考虑到许多人喜欢打羽毛球但是找不大球友,他打算成立一个羽毛球俱乐部,不定期组织羽毛球活动,活动可以是每周的任一时段,每次时间为2小时或3小时。参加活动的人每次付给小明30元...

ThoughtWorks公司2014校园招聘作业题

题记额……昨晚临睡前在网上搜到了这道题,感觉作业不难,比我想象得简单。 早晨5:30起来给孩子喂奶,喂完就毫无睡意了,脑袋里只有这道题,跃跃欲试ProblePROBLEM : SALES TAXES...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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