Fortran Coder

标题: 请教一下重复打开文件后如何直接跳到第三行 [打印本页]

作者: 黑暗舞者    时间: 2014-7-1 10:25
标题: 请教一下重复打开文件后如何直接跳到第三行
各位大神请教一下,我有个问题,比如我有个文件,里面有六行数据,然后我第一次读入文件里的第一第二行,然后写出,然后循环打开文件,这一次我想读入第三第四行然后写出,怎么操作,因为重新打开了文件,指针还是指向第一行,如何把指针指向第三第四行,请指点一下,不胜感谢

作者: vvt    时间: 2014-7-1 10:28
open(13,File="...")
read(13,*)
read(13,*)

这样就可以跳过2行了。然后再read就是第三行
作者: 黑暗舞者    时间: 2014-7-1 10:32
我试一下,谢谢好心人啊
作者: 黑暗舞者    时间: 2014-7-1 10:34
我的意思是这样的,我先读了这文件里面的前两行,然后写出来,我重新打开文件,然后这次直接准备读文件的三四行,然后写出来,这个怎么操作,因为重新打开文件后,指针默认为在文件的第一行
作者: fcode    时间: 2014-7-1 10:35
是的,就是这样。read(*,*) 就可以跳过一行
作者: 黑暗舞者    时间: 2014-7-1 11:05
谢谢您,我再去试试哈
作者: 百事可乐    时间: 2014-7-1 20:09
跳过多的话,还可以循环。
另外,好像没有必要每次都关闭,不关闭可以一次读完。
作者: 瑶远梦想    时间: 2014-7-1 23:05
楼主的意思应该是怎么实现,打开一个文件后,
把指针跳到任意想读的位置吧!
我也想问一下!
作者: 楚香饭    时间: 2014-7-2 07:55
瑶远梦想 发表于 2014-7-1 23:05
楼主的意思应该是怎么实现,打开一个文件后,
把指针跳到任意想读的位置吧!
我也想问一下! ...

楼主正是这个意思,我们也正确的理解了楼主的意思,并给出了正确答案。(见沙发层)
作者: 瑶远梦想    时间: 2014-7-3 00:00
chuxf 发表于 2014-7-2 07:55
楼主正是这个意思,我们也正确的理解了楼主的意思,并给出了正确答案。(见沙发层) ...

沙发层给出的只是跳层,楼主想要应该不只是跳层而已。
是可以在列中跳;
比如数据为:
2 3 1 4
1 2 3 4
6 5 4 1
打开文件,想把指正跳到第二行第二列的数据2的位置!

作者: 楚香饭    时间: 2014-7-3 00:07
没有,楼主没有跳列的意思。至少我没看出任何“列”的字眼

而且跳列也没有意义。顺序有格式文件,“文件指针”就是以行为最小单位的。不存在跳列的说法。

如果不想要第一列,读出来,不使用就可以了。

比如 read(*,*) a , b , c , d
使用 b c d ,对 a 不理不睬既可。




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