回 帖 发 新 帖 刷新版面

主题:Fortran中如何搜索读取指定文件中的一部分内容?

我有一个数据数据,在程序变化了100次,我把这100次的数据都用Fortran的write方法写到一个文件里了。每次的数据用flag区分,像下面这个代码。
    open(100,file='example.txt',action='write',status='replace')
    write(100,*)flag
    write(100,'(<size(message1,1)>F15.8)') message1
    现在我想在另外一个程序中使用这100次的数据。我应该怎么分别把每一次的数据从文件里面读出来呢?(读的时候也是按顺序读的)。

回复列表 (共4个回复)

沙发

咋写的咋读。把Write改为Read就行了/

板凳

就是说我想读第30次的内容
    open(101,file='example.txt',action='read')
    read(100,*)30
    read(100,'(<size(message2,1)>F15.8)') message2 这样?

3 楼

首先read的unit应该是101吧(手误?)

read(100,*)30
当然不可以. 1楼的意思是你顺序写下来就顺序读下来, 你想只读底30组, 请先按照写的格式预先读了前面的29组.

有一种读写方法,可以设定写入长度, 读的时候可以直接跳到某一段. 如果不是太多文件操作就这样顺序文件就好了.

4 楼

哦,我明白了,谢谢大家

我来回复

您尚未登录,请登录后再回复。点此登录或注册