std::ostringstream用法详解


标签:
标准c |
分类: 编程开发技术 |
ostringstream是C++的一个字符集操作模板类,定义在sstream.h头文件中。ostringstream类通常用于执行C风格的串流的输出操作,格式化字符串,避免申请大量的缓冲区,替代sprintf。
派生关系图:
http://www.cplusplus.com/img/arrow.gif | http://www.cplusplus.com/img/arrow.gif | http://www.cplusplus.com/img/arrow.gif |
ostringstream
|
ostringstream的构造函数形式:
-
explicit
ostringstream ( openmode which = ios_base::out ); -
explicit
ostringstream const( string & str, openmode which = ios_base::out );
-
#include
-
#include
-
#include
-
using
namespace std; -
-
void
main() -
{
-
ostringstream ostr1; // 构造方式1 -
ostringstream ostr2("abc"); // 构造方式2 -
-
-
ostr1 << "ostr1" << //2012 << endl; 格式化,此处endl也将格式化进ostr1中 -
cout << ostr1.str(); -
-
-
long curPos //返回当前插入的索引位置(即put= ostr2.tellp(); pointer的值),从0开始 -
cout << "curPos = " << curPos << endl; -
-
ostr2.seekp(2); // 手动设置put pointer的值 -
ostr2.put('g'); 在put pointer的位置上写入'g',并将put pointer指向下一个字符位置 -
cout << ostr2.str() << endl; -
-
-
-
ostr2.clear(); -
ostr2.str(""); -
-
cout << ostr2.str() << endl; -
ostr2.str("_def"); -
cout << ostr2.str() << endl; -
ostr2 << "gggghh"; 覆盖原有的数据,并自动增加缓冲区 -
cout << ostr2.str() << endl; -
}
详细用法请参考如下网址:点击打开链接