【STL】iostream 编程:构造输出流对象
本文介绍如何构造输出流对象。目录1 概述2 文件输出流的构造方式3 字符串输出流的构造方式4 综述1 概述如果只使用系统预定义的 cout、cerr、clog不需要手动构造输出流。只有下面两种场景才需要调用构造函数构造文件输出流对象构造字符串输出流对象2 文件输出流的构造方式有两种写法创建文件输出流 ofstream方式1先调用默认构造创建对象再调用 open 打开文件ofstream myFile;// 栈上对象myFile.open(filename);ofstream*pmyFilenewofstream;// 堆上动态对象pmyFile-open(filename);方式2在构造函数中直接传入文件名与打开模式标志ofstreammyFile(filename,ios_base::out);3 字符串输出流的构造方式使用 ostringstream 构造内存输出流usingnamespacestd;ostringstream myString;myStringthis is a testends;string spmyString.str();// 获取最终字符串coutspendl;操作符 ends 会在字符串末尾追加字符串结束符 \04 综述RALL 特性ofstream 对象析构时会自动关闭文件句柄不需要手动调用 close()。打开模式默认值不写第二个参数时ofstream 默认就是 ios_base::out只写模式。ends 与 endl 的区别ends仅写入 \0不刷新缓冲区endl写入换行并强制刷新缓冲区获取结果ostringstream.str() 会把缓冲区内容复制为一个 std::string。