我想从Fortran的.txt文件中读取一个数组。我用以下代码尝试了它:
PROGRAM test_performance
IMPLICIT NONE
DOUBLE PRECISION, DIMENSION(:), ALLOCATABLE :: ARRAYONE
OPEN(UNIT=20,FILE='testfile.txt',STATUS='OLD', ACTION='READ')
READ (20,*) ARRAYONE
print *, 'here I am!'
CLOSE(UNIT=20)
write(*,*)ARRAYONE
OPEN(UNIT=30,FILE='TEXTFILE.txt', STATUS='REPLACE', ACTION='WRITE')
WRITE(30,*)ARRAYONE
END PROGRAM test_performance
编译时没有错误。关键是数组ARRAYONE
以及文件TEXTFILE.txt
是空的。
文件testfile.txt
看起来像这样:
1 2 3 4 5 6 7 8 9 10 11
我面前有一本书,根据这本书应该有效。令我困惑的是,如果我只在输入文件中放入一个数字,即1,并且我想将其写在整数上,则没有问题,一切正常:o!
答案 0 :(得分:1)
在对代表的追求中,以及这个问题得到答案的崇高意图
您不能在read
语句中自动分配数组,规则禁止它(或者,如果您愿意,不要考虑它)。你可以:
n
元素;或还有其他方法,我相信你能想到一些。