如何访问标准::ostream 文件

How can i access std::ostream file?

本文关键字:标准 ostream 文件 访问 何访问      更新时间:2023-10-16

我有一个.gcode格式的输出文件,由std::ostream*对象写入。我想在输出文件中进行编辑,并且必须再次写入 std::ostream* 对象。是否有任何步骤需要进一步进行?

类 std::ostream 不处理缓冲或硬件 I/O。它只处理格式化和转换。它需要与派生自 std::streambuf 的类相关联,以便该输出能够转到任何地方。

#include <iostream>
#include <sstream>
int main()
{std::ostream stream(nullptr); // useless ostream (badbit set)
stream << "Hello World"; // nothing happens (well, failbit is also set)
stream.rdbuf(std::cout.rdbuf()); // uses cout's buffer
stream << "Hello Worldn"; // prints to cout
std::stringbuf str;
stream.rdbuf(&str); // uses str
stream << "Hello World"; // writes to str
std::cout << "str = '" << str.str() << "'n";}