Fortran Coder

标题: 怎么直接读写某一行数据 [打印本页]

作者: lumlngz    时间: 2023-12-21 21:45
标题: 怎么直接读写某一行数据
各位老师好,我想直接读入某一行的文本数据但是出现错误,这里要怎么解决呢。
出现错误为:forrtl: severe (256): unformatted I/O to unit open for formatted transfers
[Fortran] 纯文本查看 复制代码
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

222.txt

147 Bytes, 下载次数: 1


作者: 楚香饭    时间: 2023-12-22 08:32
本帖最后由 楚香饭 于 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
http://fcode.cn/guide-86-1.html
作者: lumlngz    时间: 2023-12-22 11:04
谢谢各位老师已经解决了




欢迎光临 Fortran Coder (http://bbs.fcode.cn/) Powered by Discuz! X3.2