c++ ostream,ostringstream基本用法(使用'<<'输出)
清泛原创
一般我们拼接字符串的时候,使用sprintf之类的函数,不过需要根据参数的类型调整输出格式,如%d,%c,%s等,参数多的话稍麻烦些。本文介绍stringstream类,使用'<<'输出字符串,无需关注参数类型,例子如下:
C++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含<sstream>头文件。
istringstream类用于执行C++风格的串流的输入操作。
ostringstream类用于执行C风格的串流的输出操作。
strstream类同时可以支持C风格的串流的输入输出操作。
istringstream类是从istream和stringstreambase派生而来。
ostringstream类是从ostream和 stringstreambase派生而来。
stringstream则是从iostream类和stringstreambase派生而来。
相应地,操作文件流使用<fstream>头文件下的ifstream、ofstream、fstream,详细参见:《c++文件流基本用法》
#include <sstream>
int main(int argc, char* argv[])
{
std::ostringstream ostr;
ostr << "string:"<< "str_test"
<< " int:" << 123
<< " char:" << 'a'
<< " bool:" << true;
std::string s = ostr.str();
printf("%s\n", s.c_str());
return 0;
}
运行结果:C++引入了ostringstream、istringstream、stringstream这三个类,要使用他们创建对象就必须包含<sstream>头文件。
istringstream类用于执行C++风格的串流的输入操作。
ostringstream类用于执行C风格的串流的输出操作。
strstream类同时可以支持C风格的串流的输入输出操作。
istringstream类是从istream和stringstreambase派生而来。
ostringstream类是从ostream和 stringstreambase派生而来。
stringstream则是从iostream类和stringstreambase派生而来。
相应地,操作文件流使用<fstream>头文件下的ifstream、ofstream、fstream,详细参见:《c++文件流基本用法》
上一篇:重构理论及实践——用工厂模式重构c++后台代码
下一篇:c++文件流基本用法(ifstream, ostream,fstream)