24小时热门版块排行榜    

查看: 5336  |  回复: 16
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

digghost

木虫 (著名写手)

[交流] 【求助】Fortran 如何读取文件中特定行的内容 已有7人参与

现有一个文件,是100列,300万行的矩阵,我想读特定行,例如300行的数据,请问应如何用fortran处理
回复此楼
呵呵了
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

meinv345

金虫 (著名写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
7楼: Originally posted by zhangzhiguang at 2010-06-29 18:51:03
open(unit=10, file=filename, access="direct", form="formatted", recl=几, tatus="old"
read(10, fmt="(格式)", rec=想要的行数, IOSTAT=error)  x
其中“recl=几”是你要读文件的每一行的字符数,如果是文本 ...

您好,麻烦问您一下有关文件的和直接访问的问题。
read(10, fmt="(格式)", rec=想要的行数, IOSTAT=error)  x
这里如果我想访问的这一行,有好几个数据,也就是说,我每一个有7个数据,我把每一行定义为一个模块,当我要访问第N行的时候,这个read应该怎么写?
  read (20, '(f20.5)', rec=N, IOSTAT=error) Force(:,N)
这个格式对吗?还是应该写成
  read (20, '(f20.5)', rec=N, IOSTAT=error) Force(1,N),Force(2,N),Force(3,N),Force(4,N),Force(5,N),Force(6,N),Force(7,N)
感谢您的帮助
天道酬勤。生命不止,奋斗不息
15楼2014-07-07 16:01:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 17 个回答

nono2009

超级版主 (文学泰斗)

No gains, no pains.

优秀区长优秀区长优秀区长优秀区长优秀版主


resonant(金币+1):信息费:-) 2010-06-23 16:40:05
以前本版好像讨论过类似的问题,建议仔细找一找。
2楼2010-06-23 11:35:15
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhangzhiguang

至尊木虫 (文坛精英)


余泽成(金币+1):谢谢参与应助! 2010-06-24 10:29:19
用do命令不就可以吗?
open(文件)
do I=1,3000000
    if (i==300) then
      do j=1,100     
          read(*,*) x
      end do
     exit
     end if   
end do
不知道,我是否正确的理解你的意思了。上面的程序中exit是为了避免在进行循环。

[ Last edited by zhangzhiguang on 2010-6-24 at 12:14 ]
好好学习,天天向上!
3楼2010-06-24 09:49:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hrzhou

铁杆木虫 (著名写手)

一品黄梅


余泽成(金币+1):谢谢参与应助! 2010-06-27 14:57:56
先用DO循环跳过前299行,再读取第300行不就得了?
4楼2010-06-27 13:10:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见