简介
头文件声明:
#include <sstream>
优点:
- 不需要考虑缓冲区大小。
- 不需要考虑格式符。
用法
< sstream >库定义了三种类:istringstream、ostringstream和stringstream,分别用来进行流的输入、输出和输入输出操作。
另外,每个类都有一个对应的宽字符集版本。简单起见,我主要以stringstream为中心,因为每个转换都要涉及到输入和输出操作。
基本形式
std::stringstream stream;
stream << ORIGIN; //读入缓冲区
stream >> DESTINATION; //输出到目标类型
stream.clear(); //在进行多次转换前,必须清除stream
例子
#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;
}
注意
std::stringstream stream(str); //以str为输入内容初始化stream