【发布时间】:2013-10-02 11:19:22
【问题描述】:
我有一个如下所示的文本文件:
7000
1.54
-0.32
我想做的是逐行读取文件,并将每个数字分配给一个数值变量。数字总是有 3 行,但我不知道数字的长度。它们可能是整数、浮点数、负数。我怎样才能做到这一点?
对于 Fortran 77。是的,我知道。但这不是我的使命。
【问题讨论】:
-
如果你尝试过 f77 中最基本的 read 语句,我想你会发现它工作得很好。
我有一个如下所示的文本文件:
7000
1.54
-0.32
我想做的是逐行读取文件,并将每个数字分配给一个数值变量。数字总是有 3 行,但我不知道数字的长度。它们可能是整数、浮点数、负数。我怎样才能做到这一点?
对于 Fortran 77。是的,我知道。但这不是我的使命。
【问题讨论】:
这是为了读入你的文件:
integer :: i
real :: a, b
open( file='filename.txt', unit=1234, status='old' )
read(1234,*) i
read(1234,*) a
read(1234,*) b
close(1234)
这是用于使用内部 I/O 将字符串转换为 real:
character(len=10) :: str = '1.23e1'
real :: a
read(str,*) a
【讨论】:
reals,如果需要,将它们四舍五入到integers。这只是一个例子......