【问题标题】:How can i access std::ostream file? [closed]我如何访问 std::ostream 文件? [关闭]
【发布时间】:2018-02-01 11:57:12
【问题描述】:

我有一个由 std::ostream* 对象编写的 .gcode 格式的输出文件。我想在输出文件中进行编辑,并再次写入 std::ostream* 对象。 有没有进一步的步骤?

【问题讨论】:

标签: c++ ostream


【解决方案1】:

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 World\n"; // prints to cout

std::stringbuf str;
stream.rdbuf(&str); // uses str
stream << "Hello World"; // writes to str
std::cout << "str = '" << str.str() << "'\n";}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-13
    • 1970-01-01
    • 1970-01-01
    • 2020-04-28
    • 2011-07-15
    • 2017-12-23
    • 1970-01-01
    相关资源
    最近更新 更多