本帖最后由 navoski 于 2022-1-13 18:05 编辑
想请教一下。
如果我要写一个二进制文件,但是每条rec的长度recl不一样。
我需要打开文件设置一个recl,写入数据,然后关闭;在打开文件设置一个recl,写入数据,然后关闭;这样操作是否正确?如果操作是正确的,我用下面的代码生成文件,打开后,第一个rec,也变为了57个字符的长度。是哪里出问题了呢?
[Fortran] 纯文本查看 复制代码 open(unit=10, file='powerdensity.bin', access='direct', &
action='write', form='unformatted', recl=26, status='replace')
write(10,rec=1) 'CCCCCCCCCCCCCCCCCCCCCCCCCC'
close(unit=10)
open(unit=10, file='powerdensity.bin', access='direct', &
action='write', form='unformatted', recl=57, status='old')
write(10,rec=2) 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
close(unit=10)
我用access=‘stream’,可以解决这个问题。但是还是想弄清楚access='direct'的操作问题出在哪。
|