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);