神奇的sstream头文件(整型与字符串自由转换)

疫情当前,“串门就是互相残杀,聚会就是自寻短见”,所以,让我们一起快乐的敲代码吧!
这次分享的知识是:如何让整型、实型、字符型自由转换。 直接上代码:

//#include<bits/stdc++.h>  万能头文件
#include<iostream>
#include<string.h>
#include<sstream> 

using namespace std ;

int main()
{
	//stringstream  (类型转换) 
	string a ; 				//char*、string
	stringstream  ss ;		//定义ss
	int num = 1234; 				
	ss << num ;
	ss >> a ;				//输出:1234
	ss.clear() ;			//清除ss的内存

//	float n3 = 456.123 ;	//转换float
//	ss << n3 ;
//	ss >> a ;
 
 	return 0 ;
}


特殊应用:将算式转化:

原理:stringstream转化的数值会按照转化不了的值进行分割,

#include<iostream>
#include<sstream>
using namespace std;
int main() {
//	类型转换计算算式:
	string a = "333+333+333";  			//按加号分割
	stringstream ss;
	int num, sum = 0;
	ss << a;
	while(ss >> num)  sum += num;
	cout << sum;
}
//同理:如果将asd fff转化给string类型  会以空格进行分割。 

总结:
1、可以使整型(int等)、实型(float等)、字符型(char *,string)互相转换。
2、必须一次性吸入,
如:

ss << 1 ;
ss << 2 ;
ss >> a 。

而不是:

ss << 1 ;     //错!
ss >> a ;
ss << 1 ;
ss >> a ;
附录:

头文件<stdlib.h>有时会去抢stringstream的饭碗,如字符串与整型、浮点型的互相转化。有兴趣的读者可以了解一下。
传送门:#include<stdlib.h>

叮!在这里插入图片描述

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

来老铁干了这碗代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值