- 积分
- 1104
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2016-9-23
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 毕业两年的小白 于 2016-11-2 08:50 编辑
刚入门,想从一个数据文件TXT中读取到行数,学习了几种方法,但得到的结果不同,特请教各位大神:备注:我通过把TXT复制到Excel中的方法得出TXT中共有253行。
下面是程序部分
program test
implicit none
! 声明变量
real :: line
integer :: i
! 方法一:利用iostat=0判断是否到达文件末尾:
open (1,file='F:\My_Fortran\test\test.txt',status='old')
i=0;line=0
do while(i==0)
read(1,*,iostat=i)
line=line+1
enddo
print*,'line=',line
close (1)
! 得到结果:line=254.0000
! 方法二:利用.not.eof()判断是否达到文件尾
open (1,file='F:\My_Fortran\test\test.txt',status='old')
line=0
do while(.not.eof(1))
read(1,*)
line=line+1
enddo
print*,'line=',line
close (1)
! 得到结果:line=253.0000
! 方法三:利用goto语句,参考@topmad的写法
open (1,file='F:\My_Fortran\test\test.txt',status='old')
do while(.true.)
read(1,*,end=100)line
i=i+1
enddo
100 continue
print*,'line=',i
close (1)
!这个方法总是报错。截图见后文:
endprogram
下面是一些疑问:
1.方法一、方法二为什么结果不同?
2.方法三为何报错?我也在别的程序中尝试使用过goto语句,没有一次成功的,不会是我用IVF的原因吧?
|
-
-
test.rar
2.63 KB, 下载次数: 0, 下载积分: 金钱 -5
内含数据文件(TXT)和.f90
|