C++文本文件和二进制文件的区别
C++文本文件 是一种以ASCII字符形式存储数据的格式,通常用于存储字符流。文本文件按行组织,每行以换行符(‘ \n ‘)结束。源代码文件本身就是文本文件。
C++二进制文件 数据存储在文件中的方式与存储在主存中进行处理的方式相同。它以二进制格式存储,而不是ASCII字符。它通常用于存储数字信息(int, float, double)。通常,二进制文件只能在程序内部创建,其内容只能由程序读取。
文本文件vs二进制文件
以下是文本文件和二进制文件之间的一些区别。
S. No. | 文本文件 | 二进制文件 |
---|---|---|
1. | 文本文件可以很容易地从一个计算机系统传输到另一个计算机系统。 | 二进制文件不能轻易地从一个计算机系统转移到另一个由于内部变化的内部表示的变化在不同的计算机。 |
2. | 它使用ASCII格式存储数据,即人类可读的图形字符。 | 它以二进制格式存储数据,即借助0和1。 |
3. | 这些文件易于阅读和修改,因为写入文本文件的内容是人类可读的。 二进制文件中写入的内容不是人类可读的,看起来像加密的内容。 | 这些文件不容易读取和修改,因为二进制文件中的内容不是人类可读的,而且是加密的内容。 |
4. | 这些文件造成了可移植性问题。 | 这些文件易于移植。 |
5. | 文本文件通过将数据中的每个数字转换为ASCII格式来保存数据,这种格式会比所需的数字占用更多的空间。 例如,数字546378是一个整数,它应该占用4个字节的磁盘,但它将占用6个字节,数字中的每个数字占用1个字节。 | 这可以节省内存,因为任何类型的数据都将根据其内存大小存储在内存中。 例如, 任何整数,不管数字中的哪个数字,都将通过使用4个字节存储。 |
6. | 任何文件默认都是文本文件。 | 在打开二进制文件时,必须使用ios:: binary模式。 |
7. | 文本文件中的错误可以很容易地识别和消除。 | 二进制文件中的错误会破坏文件,并且不容易检测到。 |
8. | 在文本文件中,新的行字符首先被转换为回车和换行符的组合,然后被写入磁盘。当从文本文件中读取一行时,情况则相反。 | 在二进制文件中,没有完成从换行符到回车换行符组合的转换。 |
9. | 在文本文件中,在文件的末尾插入一个ASCII码为26的特殊字符。该字符在遇到EOF时向程序发出信号。 | 二进制文件中没有这样的特殊字符来表示EOF。 |