#include <sstream>
#include <string>
//1.其他类型转字符串
template<class T>
void to_string(std::string & result,const T& t)
{
std::ostringstream oss;//创建一个流
oss << t;//把值传递如流中
result = oss.str();//获取转换后的字符转并将其写入result
}
//eg:to_string(s,10.5);//double到string,常规类型自动识别
//2.其他类型转字符串
template<class T>
std::string to_string(const T& t)
{
std::ostringstream oss;//创建一个流
oss << t;//把值传递如流中
return oss.str();//注str()返回临时变量
}
//2.数据类型相互转换
template<class out_type,class in_value>
out_type convert(const in_value &t)
{
std::stringstream stream;
stream << t; //向流中传值
out_type result;//这里存储转换结果
stream >> result;//向result中写入值
return result;
}
//eg:double d = convert<double>(12.34);
//eg:std::string s = convert<std::string>(56.789);
宽字符:std::wstring
std::wiostream、std::wistream、std::wostream
std::wstringstream、std::wistringstream、std::wostringstream