C ++在二进制模式下使用文件比文本模式更好还是更差?

时间:2014-09-09 16:26:16

标签: c++ file security text binary

除了速度,我理解的是基于机器的变量。在文件中使用(读/写)数据时,文本模式或二进制模式是否有优势。文件从一个系统到另一个系统的移动性是否有限制?安全

1 个答案:

答案 0 :(得分:2)

二进制文本和文本访问之间的唯一区别是谁对流中的字节序列进行了解释。

  • 当您使用二进制模式时,解释字节序列的任务完全由您自己完成:您的程序可以访问" raw"字节,就是这样。
  • 使用文本模式时,标准库承担将字节解释为字符序列的任务。该标准不保证此解释的跨系统可移植性,但对于编译程序的系统来说它是正确的。

另外需要注意的是,所有文本文件都可以在二进制模式下处理,而在文本模式下打开二进制文件可能会有问题。

通常,如果您需要便携式文本编码,则应该以二进制模式访问文件并自行进行解释,或使用可以为您执行此操作的自定义库。