爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2656|回复: 0

[求助] 几种求txt行数的代码得到结果不一样

[复制链接]

新浪微博达人勋

发表于 2016-11-2 08:47:10 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

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的原因吧?
捕获.PNG 捕获2.PNG

test.rar

2.63 KB, 下载次数: 0, 下载积分: 金钱 -5

内含数据文件(TXT)和.f90

密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

快速回复 返回顶部 返回列表