二进制文件如何使用语句操作

二进制文件如何使用语句操作二进制文件我们将上面的那个二进制文件保存为:TestBin.Bin 来举例

读取和写入二进制其实是两个很类似的操作,了解了其中之一,另一个也就不难了

二进制文件我们通常使用直接读取方式,Open 语句可以写为:引用:Open( 12 , File = 'TestBin.Bin' , Access = 'Direct' , Form = 'Unformatted' , RecL = 4 )上面的 Access 表示直接读取方式,Form 表示无格式储存

比较重要的是 RecL

我们读取数据时,是用记录来描述单位的,每一次读入或写入是一个记录

记录的长度在 Open 时就确定下来,以后不能改变

如果需要改变,只能 Close 以后再此 Open

记录长度在某些编译器下表示读取的 4 字节长度的倍数,规定为 4 表示记录长度为 16 字节

有些编译器下就直接表示记录的字节数,规定为 4 则表示记录长度为 4 字节

这个问题需要参考编译器手册

在 VF 系列里,这个值是前面一个含义

可以通过设置工程属性的 Fortran,Data,Use Bytes as RECL= Unit for Unformatted Files 来改变,使之成为后一个含义

在命令行模式下,则使用 /assume:byterecl 这个编译选项

确定 RecL 大小是我们需要做的事情,一般来说,不适合太大,也不适合太小

还需要结合数据储存方式来考虑

太小的话,我们需要执行读写的次数就多,太大的话,我们就不方便操作小范围的数据

有时候我们甚至会分多次来读取数据,每一次的 RecL 都不同

对于上面的 TestBin.Bin 文件来说,它比较简单,我以 16 字节长度和 8 字节长度两种读取方式来演示,你甚至可以一次 32 个字节长度全部读完

 

以上内容由大学时代综合整理自互联网,实际情况请以官方资料为准。

相关