176530355 发表于 2015-8-23 15:35:07

fortran 读入矩阵的问题

txt文件
----------------------
uptri
1 2 3
4 5 6
7 8 9
downtri
1 0 0
2 2 0
3 2 1
---------------------------
主程序

    program Console45
    implicit none
    integer,parameter::n=3
    character(10)::string
    real::a(n,n)
    integer::i,er
    open(11,file='1.txt')
      do
                read(11,*) string
                if(er/=0) exit
                if(string(1:7)=='downtri') then
                      do i=1,n
                        read(11,*) a(i,:)
                      end do
                end if
      end do

      do i=1,n
      write(*,*) a(i,:)
      end do

    pause
    end program Console45
想请问各路神仙   为什么不能读入成功呢


fcode 发表于 2015-8-23 15:45:22

read(11,*,iostat=er) string !//此处加iostat

176530355 发表于 2015-8-23 15:46:56

啊 真的可以啊这是 为什么呢 多谢大侠啊

fcode 发表于 2015-8-23 15:48:04

因为你下面代码
if(er/=0) exit
是用 er 来判断文件是否结束的。你不加 iostat 的话,编译器不会自动把结果复制给 er

176530355 发表于 2015-8-23 15:56:43

多谢大侠 指点 啊   我还要在翻翻书才能理解你说的
页: [1]
查看完整版本: fortran 读入矩阵的问题