stringstream的简单介绍及使用方法

在C++学习之路上先后认识了iostream(输入输出流)、fstream(文件输入输出流),下面学习stringstream(字符串输入输出流)。stringstream又可细分为istringstream、ostringstream和stringstream三类,使用时需要包含头文件<sstream>。以下是其使用实例代码:

#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main(){
    string str("How are you? 123 1 4.368");
    stringstream ss(str);
    cout<<ss.str()<<endl;
    string tmp;
    for(int i=0;i<3;i++){
    	ss>>tmp;
    	cout<<tmp<<" ";
	}
	int a;
	ss>>a;
	cout<<endl<<a<<endl;
	bool b;
	ss>>b;
	cout<<b<<endl;
	float c;
	ss>>c;
	cout<<c<<endl;	
	ss.clear();
	ss.str("I am fine!");
	while(ss>>tmp){
		cout<<tmp<<" ";
	}		
}


上例可以看出sstream中的stringstream变量可以用于字符串与其他变量类型的转换,还具有模拟输入输出cin与cout等功能。clear函数是ios类的成员函数,用于清除标志位,这点在多个stringstream对象构造和使用时一定要进行clear,不然之前的缓冲就停留在输入输出流中,str()函数是stringstream的成员函数,使用无参数函数时返回一个string对象,使用字符串变量作为参数时,表示将一个字符串初始化给该对象的私有变量,在重复赋值一定要注意搭配使用clear函数。



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值