【发布时间】:2015-06-10 15:52:23
【问题描述】:
我最近开始使用 C++,这似乎是一个小问题,但我找不到答案。 创建 fstream 对象时,我有两个模式选项,二进制和 txt。 fstream f ("file.txt",ios::out|ios::binary); 和 fstream f ("file.txt,ios::out|ios::binary); 使用重载运算符
【问题讨论】:
-
一般
\r和\n符号的转换不同。
我最近开始使用 C++,这似乎是一个小问题,但我找不到答案。 创建 fstream 对象时,我有两个模式选项,二进制和 txt。 fstream f ("file.txt",ios::out|ios::binary); 和 fstream f ("file.txt,ios::out|ios::binary); 使用重载运算符
【问题讨论】:
\r和\n符号的转换不同。
根据您使用的模式,某些特殊字符可能会发生变化。 此外,这些特殊字符变成什么可能取决于代码运行的操作系统或计算机系统。
对于二进制文件,您确信无论文件内容如何,在任何计算机上都可以按原样读取该文件。 文件 IO 类型的差异说明了一切:文本模式适用于基于文本的文件, 二进制适用于所有其他类型的 IO(如果您不希望发生任何解释,甚至是文本文件!)
【讨论】: