【问题标题】:Binary mode + formated text operations or text mode + binary data operations - Does it make sense?二进制模式 + 格式化文本操作或文本模式 + 二进制数据操作 - 这有意义吗?
【发布时间】:2017-08-06 14:24:40
【问题描述】:

在 C++ 中,您可以在构造函数中指定流的模式。但在任何模式下,您仍然可以同时使用文本操作(>> int、>> string、getline)和二进制数据操作(读、写)。

以二进制模式打开文件然后将其读取为文本,或者以文本模式打开文件然后将其读取为二进制是否有意义? 你能举个例子,这可能有用吗?

【问题讨论】:

  • @StoryTeller 有点不清楚,但我认为 OP 想要以某种方式 mix IO 操作,我认为他只是在询问二进制标志。
  • @Ron - “构造函数中流的模式”意味着模式标志......它们是二进制、文本等。
  • @StoryTeller 你提出了一个有效的观点。我的立场是正确的。
  • ">>" 和 "read" 同样适用于所有流,无论模式如何。 "

标签: c++ text-files fstream binaryfiles


【解决方案1】:

您可以打开一个文件作为二进制输出,而不是使用格式化的文本写入操作。

当您不希望应用任何“额外”翻译(例如行尾)时,这是有道理的。这将允许您在所有系统上为“\n”输出 0x0A,而不是让某些系统为“\n”输出 0x0D 0x0A。

【讨论】:

    猜你喜欢
    • 2016-04-11
    • 1970-01-01
    • 1970-01-01
    • 2013-08-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多