如何访问标准::ostream 文件
How can i access std::ostream file?
我有一个.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";}
相关文章:
- 使用CMake检测支持的C++标准
- 如何理解C++标准N3337中的expr.const.cast子句8
- "throw expression code" 1e7 >返回 d 是什么?投掷标准::overflow_error( "too big" ) : d;意味 着?
- ostream过载时的缓冲区冲洗
- 编译标准库类型
- 标准是否使用多余的大括号(例如 T{{{10}}})定义列表初始化?
- 需要从 istream 和 ostream 派生 iostream
- 编译器如何在使用SFINAE的函数和标准函数之间确定两者是否可行
- 铸造标准::有没有回到原来的类型
- "ostream &os"有什么用?
- 标准 N3337 5.2.10 第 7 条中的C++"类型"是什么意思?
- this_thread::sleep_for和计时时钟之间的关系是否由C++11标准指定
- 标准库类型的赋值运算符的引用限定符
- 为什么常量词在重载运算符中不与 ostream 对象一起使用<<?
- 将标准输出重定向到ostream
- 如何通过标准字符串打印 ostream 变量的值?
- 如何访问标准::ostream 文件
- 静态与成员运算符重载:标准::运算符<< 和 std::ostream::运算符<<
- 标准::ostream 的浮点格式
- 标准::unique_ptr ostream 插入器