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

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

//#include  万能头文件
#include
#include
#include 

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
#include
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 ;

附录:

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

叮!神奇的sstream头文件(整型与字符串自由转换)_第1张图片

你可能感兴趣的:(c++,积累)