istringstream

今天在看别人的C++程序源码的时候,看到了一个比较有用的C++的输入输出控制类。因为之前没有使用过,故特地学习了一下,在此总结。

程序源码中使用了这样的语句:

    ifstream fin(fname);
    int a,b,c;
    string s;
    getline(fin, s);
    istringstream ss(s);
    ss >> a>>b>>c;

将读入的一行中的三个整数存储到了a, b, c中。

查了一下相关文档:C++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含<sstream>这个头文件。

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

ostringstream类用于执行C风格的串流的输出操作。

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

istringstream的构造函数原形如下:

istringstream::istringstream(string str);

它的作用是从string对象str中读取字符。

    #include<iostream>  
    #include<sstream>        //istringstream 必须包含这个头文件
    #include<string>  
    using namespace std;  
    int main()  
    {  
        string str="i am a boy";  
        istringstream is(str);  
        string s;  
        while(is>>s)  
        {  
            cout<<s<<endl;  
        }  
          
    }

输出是:

i

am

a

boy
————————————————
版权声明:本文为CSDN博主「chenjieping1995」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jacky_chenjp/article/details/70233212

  • 32
    点赞
  • 109
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值