stringstream的用法
原创
©著作权归作者所有:来自51CTO博客作者alantop的原创作品,请联系作者获取转载授权,否则将追究法律责任
stringstream通常是用来做数据转换的。
相比c库的转换,它更加安全,自动和直接。
例子一:基本数据类型转换例子 int转string
#
include <string>
#
include <sstream>
#
include <iostream>
int main()
{
std
::
stringstream stream;
std
::
string
result;
int i
=
1000
;
stream
<<
i;
//
将int输入流
stream
>>
result;
//
从stream中抽取前面插入的int值
std
::
cout
<<
result
<<
std
::
endl;
//
print the string "1000"
}
运行结果:
例子二:除了基本类型的转换,也支持char *的转换。
#
include <sstream>
#
include <iostream>
int main()
{
std
::
stringstream stream;
char result[
8
] ;
stream
<<
8888
;
//
向stream中插入8888
stream
>>
result;
//
抽取stream中的值到result
std
::
cout
<<
result
<<
std
::
endl;
//
屏幕显示 "8888"
}
例子三:再进行多次转换的时候,必须调用stringstream的成员函数clear().
#
include <sstream>
#
include <iostream>
int main()
{
std
::
stringstream stream;
int first
,
second;
stream
<<
"
456
"
;
//
插入字符串
stream
>>
first;
//
转换成int
std
::
cout
<<
first
<<
std
::
endl;
stream
.
clear();
//
在进行多次转换前,必须清除stream
stream
<<
true
;
//
插入bool值
stream
>>
second;
//
提取出int
std
::
cout
<<
second
<<
std
::
endl;
}
运行clear的结果
没有运行clear的结果