【发布时间】:2014-06-26 13:37:44
【问题描述】:
我正在使用一个 fortran 程序,它从文件中读取大量数据并以不同的格式写回。
我用来读取数据的代码是这样的:
10 read(10,*,err=11,end=20) f,time(i),(a(i,j),j=1,14)
...
goto 10
11 i=i+1
goto 10
它有效,但仅当输入文件正确时。 但是有些行是这样的:
"2014-04-28 07:51:18.9",2705,-8.42144,6.623851,0.4654102,20.99942,"NAN","NAN",0,0,0,0,-9.0605,5.8855,0.4135,21.39728
发生这种情况时,我会丢失 NAN 之后的行中的所有值。有没有办法读取其他值?
是否可以将每个值读取为字符串,然后将它们转换为双精度值? 我对fortran知之甚少,我需要快速修复它。用 C 重写所有内容可能会花费太多时间。
【问题讨论】:
-
你能用 C 编写一个快速解析器来清理你的文件,在 Fortran 中处理干净的文件吗?听起来您会知道如何做到这一点,并且不涉及重写所有代码...
-
这不是一个好主意。数据必须已经通过 3 个程序运行,我不想在该过程中添加另一个步骤。无论如何感谢您的提示。
标签: fortran