c++ istringstream ostringstream stringstream

本文介绍了C++中istringstream和ostringstream类的使用方法,包括如何将字符串解析为基本数据类型及如何构造字符串。同时展示了如何在stringstream对象间进行不同类型数据转换。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


int main() {
	//构造字符串流的时候,空格会成为字符串参数的内部分界,例子中对a,b对象
	//的输入"赋值"操作证明了这一点,字符串的空格成为了整型数据与浮点型数据的分界点
	//利用分界获取的方法事实上完成了字符串到整型对象与浮点型对象的拆分转换过程
	//str()成员函数的使用可以让istringstream对象返回一个string字符串
	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;

	//ostringstream同样是由一个string对象构造而来,ostringstream类向一个string插入字符
	ostringstream ostr;
	//ostr.str("abc"); //如果构造的时候设置了字符串参数,那么增长操作的时候不会从结尾开始增加
	//,而是修改原来的数据,超出的部分增长
	ostr.put('d');
	ostr.put('e');
	ostr<<"fg";
	string str=ostr.str();
	cout << str << endl;

	stringstream sstr("ccc");
	sstr.put('d');
	sstr.put('e');
	sstr << "fg";

	str = sstr.str();
	cout << str << endl;

	char ch;
	string temp;

	sstr >> ch;
	cout << ch << endl;

	sstr >> temp;
	cout << temp << endl;

	//stringstream类的对象我们还常用它进行string与各种内置类型数据之间的转换

	int a=100;
	sstr << a;
	sstr >> str;
	cout << str << endl;

	//string转char[]
	sstr.clear(); //如果想通过使用同一stringstream对象实现多种类型的转换,注意在
	//每一次转化之后都必须调用clear()成员函数
	string name="colinguan";
	char cname=[2000];
	sstr << name;
	sstr >> cname;
	return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值