| 本帖最后由 navoski 于 2022-1-13 18:05 编辑 
 想请教一下。
 如果我要写一个二进制文件,但是每条rec的长度recl不一样。
 我需要打开文件设置一个recl,写入数据,然后关闭;在打开文件设置一个recl,写入数据,然后关闭;这样操作是否正确?如果操作是正确的,我用下面的代码生成文件,打开后,第一个rec,也变为了57个字符的长度。是哪里出问题了呢?
 
 [Fortran] syntaxhighlighter_viewsource syntaxhighlighter_copycode     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'的操作问题出在哪。
 
 
 |