二进制文件的读写
什么是二进制文件:
首先,所有信息,最后都会被计算机翻译成二进制语言,然后存储到硬盘之中,
因此,可以认为,每一个文件,都是二进制文件。
假如有一个文件,用记事本打开,可以看到文字,并且没有乱码。说明其数据是
有一定规律的,例如 ANSI 编码的文件,通常用 1 个字节存储一个字符,而 Unicode
编码往往以两字符存储,因为存储有一定规律,这个文件也可以认为是一个文本
文件。
二进制文件和文本文件的最大区别:
文本文件旺旺以 1 个字节或者 2 个字节为一个单位(用于储存字符),而二进制
文件,则无这样的格式。
原因在于,例如 char 为 1 个字节,int 为 4 个字节,double 为 8 个字节,还有类,
因此不能规定一个格式来存储。
因此,一个正常的二进制文件,是无格式有数据类型的。
使用二进制文件的好处:
①节省空间(文本文件格式的话,要凑够字节数);
②内存中参加计算的数据都是用二进制无格式存储起来的。因此,使用二进制文
件就更快捷。(不懂)
③一些比较精确的数据,使用二进制文件时不会导致有效位的丢失。
二进制文件的存储方式:
以二进制方式存储,一般解读的时候用十六进制编译器进行编译(因为每个单元
如 0x01 是一个字节,是字符的最小单位)。
如何使用语句操作二进制文件:
ifstream file("$LogFile", ios::binary); //以二进制打开文件$LogFile,模式为 binary
(否则以 ASCII 模式打开)
文件操作时,如果不显示指定打开模式,文件流类将使用默认值。
在<fstream> 中定义了如下打开模式和文件属性:
评论0