Fortran Coder

查看: 355|回复: 3

[文件读写] 怎么直接读写某一行数据

[复制链接]

26

帖子

5

主题

0

精华

入门

F 币
114 元
贡献
57 点
发表于 2023-12-21 21:45:21 | 显示全部楼层 |阅读模式
各位老师好,我想直接读入某一行的文本数据但是出现错误,这里要怎么解决呢。
出现错误为: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

709

帖子

4

主题

0

精华

大师

农村外出务工人员

F 币
596 元
贡献
305 点

新人勋章爱心勋章水王勋章元老勋章热心勋章

发表于 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/  基础篇,文件读写上下集

250

帖子

2

主题

0

精华

宗师

F 币
1730 元
贡献
872 点

规矩勋章

发表于 2023-12-22 08:33:53 | 显示全部楼层

26

帖子

5

主题

0

精华

入门

F 币
114 元
贡献
57 点
 楼主| 发表于 2023-12-22 11:04:49 | 显示全部楼层
谢谢各位老师已经解决了
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-2-25 12:16

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表