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

来源:互联网 发布:音乐下载软件 编辑:程序博客网 时间:2024/06/14 17:25

转自:http://blog.csdn.net/force_eagle/archive/2004/06/26/27471.aspx

 

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


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

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

template
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
string CStr(const DataType& data)
{
 std::ostringstream ostr;
 ostr << data;
 return ostr.str();
}

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


string strConv;
strConv = CStr(1234);


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/force_eagle/archive/2004/06/26/27471.aspx