liudy02 发表于 2018-12-19 14:01:04

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

想自己写一个程序计算当前所在的行数
才发现似乎Fortran有判断当前是文件末尾的办法,
却似乎没有判断是文件开始的办法啊
大佬们给小白指点指点呗……


li913 发表于 2018-12-19 20:39:55

返回文件头,用 rewind

liudy02 发表于 2018-12-19 21:26:05

li913 发表于 2018-12-19 20:39
返回文件头,用 rewind

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

fcode 发表于 2018-12-19 22:27:39

文本文件顺序读取,没有办法判断是否是开头。

liudy02 发表于 2018-12-19 22:31:46

fcode 发表于 2018-12-19 22:27
文本文件顺序读取,没有办法判断是否是开头。

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

fcode 发表于 2018-12-19 22:32:50

stream方式读取文件(有格式或无格式均可)
Inquire(Unit,pos=i)
如果 i == 1 就是开头

liudy02 发表于 2018-12-19 22:47:24

fcode 发表于 2018-12-19 22:32
stream方式读取文件(有格式或无格式均可)
Inquire(Unit,pos=i)
如果 i == 1 就是开头 ...

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

li913 发表于 2018-12-20 12:10:47

ivf扩展函数getpos可以,文件头i=0。
use ifport
open(10,file=...)
i=getpos(10)

liudy02 发表于 2018-12-20 16:48:38

li913 发表于 2018-12-20 12:10
ivf扩展函数getpos可以,文件头i=0。
use ifport
open(10,file=...)


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

vvt 发表于 2018-12-21 08:21:04

用 stream 读写有格式(文本)文件就好了呀。见6楼和顺序读取完全兼容。但可以 Inquire 查询位置
页: [1] 2
查看完整版本: 有没有内部函数能判断是否是文件的开始位置的办法