lumlngz 发表于 2023-12-21 21:45:21

怎么直接读写某一行数据

各位老师好,我想直接读入某一行的文本数据但是出现错误,这里要怎么解决呢。
出现错误为:forrtl: severe (256): unformatted I/O to unit open for formatted transfers
program main
implicit none
character(len=15)::model
real::a,b,c,d
open(11,file='222.txt',form='formatted',access='direct',recl=16)
read(11,rec=2)model,a,b,c,d
write(6,rec=2)model,a,b,c,d
endprogram

楚香饭 发表于 2023-12-22 08:32:01

本帖最后由 楚香饭 于 2023-12-22 08:33 编辑

文本文件通常采用顺序读取,如果想要直接读取,需要文件每一行的长度完全一样长(大部分文件不容易满足)。

我建议你用顺序读取,要读取第 N 行,可以
Do i = 1 , N-1
Read(12,*)
End Do
跳过 N-1 行。
之后可以用 backspace 返回一行,或者 rewind() 返回文件顶部。

详情可收看本论坛视频教程:http://v.fcode.cn/基础篇,文件读写上下集

necrohan 发表于 2023-12-22 08:33:53

http://fcode.cn/guide-86-1.html

lumlngz 发表于 2023-12-22 11:04:49

谢谢各位老师已经解决了
页: [1]
查看完整版本: 怎么直接读写某一行数据