利用C++的stringstream对各种数据类型转换

C++的<sstream></sstream>库定义了三种类:istringstream、ostringstream和stringstream,分别用来进行流的输入、输出和输入输出操作。利用这3个类的输入,输出操作可以很简单的对数据类型转换


用输入操作来改变数据类型
istringstream stream;
stringresult=”123456”;
intn=0;
stream<< result;//从字符串输入
stream>> n;//输出到int
n 就等于123456了

可以使用一个模板使其更加调用通用化

template <typename datatype=""></typename>
DataType CExp(const char *lpsz)
{
DataType ret;
assert(lpsz != NULL);
const std::string str(lpsz);
std::istringstream istr(str);
istr >> ret;
return ret;
}

而用输出操作可将各种类型转换为string
以下是实现模板
template <typename datatype=""></typename>
string CStr(const DataType& data)
{
std::ostringstream ostr;
ostr << data;
return ostr.str();
}

使用实例:
int i = 0;
i = CExp<int></int>("1234");
cout << "i == " << i << endl;


string strConv;
strConv = CStr(1234);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值