【问题标题】:How to write and use C++ method to write/read from any stream?如何编写和使用 C++ 方法从任何流中写入/读取?
【发布时间】:2014-08-21 18:31:50
【问题描述】:

我必须用一种方法编写类来从任何流(cin、ifstream 等)读取数据,然后用第二种方法写入任何流。我需要类似的东西:

void save(std::ostream &stream);

但不知道如何实现和使用它。

感谢您的帮助。

【问题讨论】:

  • 这里有什么问题?你试过什么?你的研究告诉你什么?你在哪里卡住了? “我需要能做到这一点的代码”在 SO 上不是一个有效的问题
  • 记住std::cout是一个输出流。如果您可以写入std::cout,您可以写入任何输出流。

标签: c++ stream


【解决方案1】:

在实现任何东西之前,您应该确定用于从文件存储和加载数据成员的结构、布局或协议。

这是一个例子:

struct MyClass
{
  void load_from_stream(std::istream& inp)
  {
    inp >> first_value;
    inp >> second_value;
  }
  unsigned int first_value;
  double second_value;
};

该方法将接受从std::istream 派生的任何对象,例如std::cinstd::ifstream

用法:

  MyClass  m;
  m.load_from_stream(cin);

同样,对于std::ostream 和保存。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    • 2015-07-26
    • 1970-01-01
    • 1970-01-01
    • 2019-01-24
    • 2015-10-20
    相关资源
    最近更新 更多