| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1570 人关注过本帖
标题:如何在Fortran中读取下列格式的文本?
只看楼主 加入收藏
wvj401
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2010-1-8
收藏
 问题点数:0 回复次数:1 
如何在Fortran中读取下列格式的文本?
如何在Fortran中读取下列格式的文本?
  1  X=0  Y=18  Z=0
  2  X=0  Y=18  Z=3
  3  X=6  Y=18  Z=0
  4  X=6  Y=18  Z=3
  5  X=0  Y=12  Z=0
  6  X=0  Y=12  Z=3
  7  X=6  Y=12  Z=0
  8  X=6  Y=12  Z=3

上面的数据  1  X=0  Y=18  Z=0,其中1为节点号,后面三个是节点的坐标
想把节点号和其坐标关联起来以备以后通过节点号来调用,于是想用数组,如果只是一个节点,那么一个一行四列的数组joint(1:4)就可以了。
但是由于程序通常不知道到底有多少个节点,又需要通过循环来不断读取数据。于是就不知道这个数组的维数,不知道该如何解决那?  

下面是我根据楼上的改写的,不知道有什么问题
    dimension joint(:4)
    integer :: a,ax,ay,az
      character(len=10) :: x,y,z,tmpx,tmpy,tmpz

    open (10,file='1.dat',status='unknown')
    open (11,file='2.dat',status='unknown')
      read(10,*)a,x,y,z

      tmpx=x(3:)
    tmpy=y(3:)
    tmpz=z(3:)

      read(tmpx,*)ax
      read(tmpy,*)ay
      read(tmpz,*)az

    joint(1,1)=a
    joint(1,2)=ax
    joint(1,3)=ay
    joint(1,4)=az

    write(11,*)joint

    end
搜索更多相关主题的帖子: 格式 文本 Fortran 
2010-01-08 22:39
田间阡陌
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2011-3-2
收藏
得分:0 
这样格式又如何读取?
NO. OF POINTS:  24256  
EQUALLY SPACED INTERVALS OF:  0.005  SEC

-1.072970E-001 -1.072970E-001 -9.958957E-002 -9.958957E-002 -1.072970E-001 -1.034439E-001 -9.573565E-002 -1.034439E-001
-9.958957E-002 -1.034439E-001 -1.072970E-001 -9.958957E-002 -9.958957E-002 -1.111513E-001 -9.958957E-002 -9.958957E-002
-1.072970E-001 -1.034439E-001 -1.072970E-001 -1.072970E-001 -1.072970E-001 -9.958957E-002 -1.072970E-001 -1.111513E-001
2011-06-16 09:50
快速回复:如何在Fortran中读取下列格式的文本?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033515 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved