Program fcode_cn
Implicit None
Integer, Parameter :: NROW = 3, NCOL = 4
Integer :: b(NROW, NCOL), i, j
Open(10, File="E:\xxxx.txt")
Do i = 1, NROW
Do j = 1, NCOL
Read(10, *) b(i, j)
End Do
End Do
Close(10)
End Program fcode_cn
所以,每次read至少会读一行,你写成 3*4 的二重循环,要求文件中至少12行。
改成单层循环。
Do i = 1, NROW
Read(10, *) b(i, :)
End Do
甚至你可以不用循环
Read(10, *) b
就行了。但最好b定义为 b(NCOL,NROW)
[Fortran] 纯文本查看复制代码
Program fcode_cn
Implicit None
Integer, Parameter :: NROW = 3, NCOL = 4
Integer :: b(NROW, NCOL), i, j
Open(10, File="E:\xxxx.txt")
Do i = 1, NROW
Read(10, *) b(i, :)
End Do
Close(10)
End Program fcode_cn