首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Fortran77自动确定数据文件顶部有多少行文本

Fortran77自动确定数据文件顶部有多少行文本
EN

Stack Overflow用户
提问于 2013-08-09 19:59:36
回答 1查看 465关注 0票数 2

我的一个(旧的)仪器正在生成ASCII数据文件,在文件的顶部,在数据之前,有文本描述。但描述性文本的行数因运行而异。如何让Fortran77自动确定这一点?下面是一个示例数据文件,位于该行下面。

代码语言:javascript
复制
Line of explanatory text.

Notice the possible blank lines.
More text.
The number of lines is NOT the same every time.

1.0, 2.0
2.0, 4.0
3.0, 6.0
4.0, 8.0
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-03 22:00:55

我自己找到了答案。在这里发帖帮助他人。我不得不等8个小时才能回答我自己的问题,这是相当令人讨厌的,但我明白为什么这条规则存在。愚蠢的装腔作势者!

一个粗糙但有效的解决方案,如果您的文本从未以数字开头(这就是我的情况):

假设输入文件名为Data.dat。

代码语言:javascript
复制
    integer NumTextLines
    real X
    open(8,"Data.dat")
    NumTextLines=-1
50  NumTextLines=NumTextLines+1
    read(8,*,err=50) X
    close(8)
    open(8,"Data.dat")

每当程序试图将一个单词从文本行读取到实际变量X时,read语句错误和程序控制将返回到第50行。如果读语句成功,那么您就不想再增加NumTextLines了。关闭该文件并重新打开它,以便从头开始。但现在你知道NumTextLines了。这样你就可以一次读一行文字,或者保存它或者跳过它。

{以上方法适用于我的大多数文件,但不是全部。另一种方法是将每一行读入字符*500变量(例如,A),然后测试字符数组第一个元素的ASCII值。但事情变得复杂了。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18154705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档