C ++中二进制和txt模式有什么区别

时间:2015-06-10 15:52:23

标签: c++ iostream fstream

我最近开始使用C ++,这看起来似乎是一个缓慢的问题,但我找不到答案。 在创建fstream对象时,我有两个选项,分别是mode,binary和txt。 fstream f(“file.txt”,ios :: out | ios :: binary); 和 fstream f(“file.txt,ios :: out | ios :: binary); 当使用重载运算符时,它们都写相同的字符串<< 。我的问题是两种模式之间的差异是什么,它是否会影响用于将字符写入流的字节数,因此当您读取每个fstream写入的数据时,您需要一个不同的搜索?

1 个答案:

答案 0 :(得分:1)

根据您使用的模式,某些特殊字符可能会发生变化。 此外,这些特殊字符的更改可能取决于代码运行的操作系统或计算机系统。

使用二进制文件,您确定在任何计算机上都可以按原样读取文件,而不管文件的内容如何。 文件IO类型的差异说明了一切:文本模式适用于基于文本的文件, Binary适用于所有其他类型的IO(如果您不想要任何解释,甚至是文本文件!)