【问题标题】:How do I provide custom output streams in C++如何在 C++ 中提供自定义输出流
【发布时间】:2013-03-13 18:31:45
【问题描述】:

我正在开发一个应用程序,该应用程序需要对一系列字节进行顺序编码/解码,并在处理完它们后将它们放入流中。

我的计划是继承 ostream 并使用 istream 提供构造函数 MyEncodeStream(istream)

我必须承认,尽管我不知道下一步该做什么,但应该重写哪些方法? 执行此操作的标准工具是什么。

请提供这个简单案例的示例代码:

  1. 从输入缓冲区中提取了一个字符
  2. char 由 char manipulationFunc(char in) 操作
  3. 字符被放入缓冲区
  4. MyEncodeStream 停止阻塞,因此可以读取字符
  5. ostream 是否提供了一个读取函数,该函数应该被哪个运算符

【问题讨论】:

  • 我知道stackoverflow.com/questions/4482116/inherit-stdostream 我已经用谷歌搜索了,我只是无法得到一个直接的答案。
  • 关于 5,我认为您的意思是 operator <<,这是实现定义的(每个编译器不同)。
  • 不清楚为什么你需要这样的特殊东西。似乎您可以从 istream 读取字符,调用函数,然后将结果写入 ostream。
  • 我正在编写一个类,它封装了编码过程,提供了一个输入工具,并提供了一个输出流供其他人在闲暇时阅读。

标签: c++ iostream ostream


【解决方案1】:

我想通了,我很困惑。我想做的是使用输入流作为构造函数的参数对输入流进行子类化,这样当读取自定义输入流时,它可以从标准输入机制中读取。我正在查找子类化输出流,这就是为什么 google 没有找到很多结果的原因。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-12-08
    • 2012-12-14
    • 2014-03-12
    • 1970-01-01
    • 1970-01-01
    • 2012-11-30
    • 1970-01-01
    相关资源
    最近更新 更多