C++之istringstream,ostringstream和stringstream

istringstream,ostringstream和stringstream

使用istringstream,ostringstream和stringstream这三个类,需要包含sstream.h头文件。
其中istringstream从string中读取数据,ostringstream向string写入数据,而stringstream可以从string中读取数据,也可以写入数据。
其中,此三者都有一个成员函数str(),可以将设置值,也可以返回值。

1.istringstream类

#include <iostream>
#include <sstream>
using namespace std;
int main()
{
    istringstream iss;
    iss.str("hi iss");
    string str;
    while(iss>>str)
        cout<<str<<endl;

    istringstream iss2("hi iss2");
    while (iss2>>str) {
        cout<<str<<endl;
    }
    return 0;
}

输出结果是:

hi
iss
hi
iss2

2.ostringstream

#include <iostream>
#include <sstream>
using namespace std;
int main()
{
    ostringstream oss;
    istringstream iss;
    iss.str("hi iss");
    string str;
    while(iss>>str)
        oss<<str<<endl;

    istringstream iss2("hi iss2");
    while (iss2>>str) {
        oss<<str<<endl;
    }
    cout<<oss.str();
    return 0;
}

输出结果是:

hi
iss
hi
iss2

3.stringstream

#include <iostream>
#include <sstream>
using namespace std;
int main()
{
    stringstream sstr;
    int number = 999;
    string strNumber;
    sstr<<number;
    sstr>>strNumber;
    cout<<"strNumber:"<<strNumber<<endl;

    sstr.clear();
    string str("hi,xiaoming");
    char cstr[30];
    sstr<<str;
    sstr>>cstr;
    cout<<cstr<<endl;

    sstr.clear();
    char numbers[30]{'\0'};
    sstr<<243;
    sstr>>numbers;
    cout<<numbers<<endl;
    return 0;
}

输出结果是:

strNumber:999
hi,xiaoming
243
  • 6
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值