如何通过stringstream实现常用的类型转换
这篇文章主要讲解了如何通过stringstream实现常用的类型转换,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
其他类型转成string
template <class T>void toString(string& result,const T &t){ //将各种数值转换成字符串 ostringstream oss; oss.clear(); oss << t; result.clear(); result = oss.str();}
string转成其他类型
template <class T>void stringToOther(T &t, const string &s){ stringstream ss; ss.clear(); ss << s; ss >> t;}
类型之间的相互转换
template <class inputType,class outputType>void toConvert(const inputType &input, outputType &output){ stringstream ss; ss.clear(); ss << input; ss >> output;}
完整代码
#include <sstream>#include <iostream>#include <string>using namespace std;template <class T>void toString(string& result,const T& t);template <class T>void stringToOther(T &t, const string &s);template <class inputType,class outputType>void toConvert(const inputType &input, outputType &output);int main(int argc, char** argv){ string s1; double a =1.1111; toString(s1,a); cout<<s1<<endl; double b = 0; double &bptr =b; stringToOther(bptr,s1); cout<<bptr<<endl; string s2 ="2.222"; double c1 =0; double &c1ptr = c1; toConvert(s2,c1ptr); cout<<c1ptr<<endl; return 0;}template <class T>void toString(string& result,const T &t){ //将各种数值转换成字符串 ostringstream oss; oss.clear(); oss << t; result.clear(); result = oss.str();}template <class T>void stringToOther(T &t, const string &s){ stringstream ss; ss.clear(); ss << s; ss >> t;}template <class inputType,class outputType>void toConvert(const inputType &input, outputType &output){ stringstream ss; ss.clear(); ss << input; ss >> output;}
看完上述内容,是不是对如何通过stringstream实现常用的类型转换有进一步的了解,如果还想学习更多内容,欢迎关注亿速云行业资讯频道。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。