stringstream的用法

来源:互联网 发布:足球数据库软件哪个好 编辑:程序博客网 时间:2024/05/20 06:08

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"
}

运行结果:

001

例子二:除了基本类型的转换,也支持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"
}

002

例子三:再进行多次转换的时候,必须调用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的结果

003

没有运行clear的结果

004