Fortran Coder

查看: 2701|回复: 12

[文件读写] 有没有内部函数能判断是否是文件的开始位置的办法

[复制链接]

168

帖子

14

主题

0

精华

大宗师

F 币
4218 元
贡献
911 点
发表于 2018-12-19 14:01:04 | 显示全部楼层 |阅读模式
想自己写一个程序计算当前所在的行数
才发现似乎Fortran有判断当前是文件末尾的办法,
却似乎没有判断是文件开始的办法啊
大佬们给小白指点指点呗……


回复

使用道具 举报

578

帖子

1

主题

0

精华

大宗师

F 币
2878 元
贡献
1818 点
发表于 2018-12-19 20:39:55 | 显示全部楼层
返回文件头,用 rewind

168

帖子

14

主题

0

精华

大宗师

F 币
4218 元
贡献
911 点
 楼主| 发表于 2018-12-19 21:26:05 | 显示全部楼层
li913 发表于 2018-12-19 20:39
返回文件头,用 rewind

那个是定位到开头,不是判断是不是开头啊

1568

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1628 元
贡献
1052 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

发表于 2018-12-19 22:27:39 | 显示全部楼层
文本文件顺序读取,没有办法判断是否是开头。

168

帖子

14

主题

0

精华

大宗师

F 币
4218 元
贡献
911 点
 楼主| 发表于 2018-12-19 22:31:46 | 显示全部楼层
fcode 发表于 2018-12-19 22:27
文本文件顺序读取,没有办法判断是否是开头。

谢谢,看来还真是没有办法
不过这么说的话似乎无格式文件可以?

1568

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1628 元
贡献
1052 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

发表于 2018-12-19 22:32:50 | 显示全部楼层
stream方式读取文件(有格式或无格式均可)
Inquire(Unit,pos=i)
如果 i == 1 就是开头

168

帖子

14

主题

0

精华

大宗师

F 币
4218 元
贡献
911 点
 楼主| 发表于 2018-12-19 22:47:24 | 显示全部楼层
fcode 发表于 2018-12-19 22:32
stream方式读取文件(有格式或无格式均可)
Inquire(Unit,pos=i)
如果 i == 1 就是开头 ...

哦哦,原来如是,看来这文件读取水还很深呢
只能慢慢琢磨了,非常感谢!

578

帖子

1

主题

0

精华

大宗师

F 币
2878 元
贡献
1818 点
发表于 2018-12-20 12:10:47 | 显示全部楼层
ivf扩展函数getpos可以,文件头i=0。
use ifport
open(10,file=...)
i=getpos(10)

168

帖子

14

主题

0

精华

大宗师

F 币
4218 元
贡献
911 点
 楼主| 发表于 2018-12-20 16:48:38 | 显示全部楼层
li913 发表于 2018-12-20 12:10
ivf扩展函数getpos可以,文件头i=0。
use ifport
open(10,file=...)

哦,听你说过这个ifport扩展模块了
不过我自己还不是很了解,看来还是要啃编译器说明哪
用这个模块也不是不好,不过限定IVF了呀
我考虑自己写个自用的模块算了……
有格式文件反正是按行读取嘛,文件指针又不能再一行的中间
可以写个子程序计算文件的行数,也可以判断是文件的末尾和直接指定文件的首尾位置
那么自然也可以写个子程序返回当前的行数的,嗯嗯嗯,我真是太蛋疼了……

856

帖子

0

主题

0

精华

宗师

F 币
1464 元
贡献
813 点

规矩勋章元老勋章新人勋章水王勋章

QQ
发表于 2018-12-21 08:21:04 | 显示全部楼层
用 stream 读写有格式(文本)文件就好了呀。见6楼和顺序读取完全兼容。但可以 Inquire 查询位置
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

QQ|捐赠本站|Archiver|关于我们 About Us|群聊|Fcode

GMT+8, 2021-1-27 11:01

Powered by Discuz! X3.2

© 2001-2017 Comsenz Inc.

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