如何从文件

时间:2016-08-09 02:16:18

标签: fortran fortran90

我必须处理一个文件,该文件可以改变由于前一个操作(来自python脚本)的行数,并且该行数将用于声明另一个变量,如下所示。

integer NumberOfLine  !This is not work,Of course.
real(8) F(FixedDimension,NumberOfLine)
integer, parameter :: NewDimension = ANumber*NumberOfLine

如何正确声明NumberOfLine。谢谢。 我可以从python传递一行数,所以基本上我知道python操作完成后的那个数字

1 个答案:

答案 0 :(得分:2)

如果声明参数,则必须在编译时修复其值。因此,如果编译器不知道integer, parameter :: newDimension = ANumber * NumberOfLine的值,则NumberOfLine无效。

你可以做的是使用可分配的数组:

program test_alloc

    implicit none
    integer, parameter :: dp = selected_real_kind(p=15)
    real(kind=dp), dimension(:,:), allocatable :: F
    integer :: i
    integer, parameter :: FixedDimension = 10

    print *, "Enter i"
    read(*, *) i

    allocate (a(FixedDimension, i))
    a = i
    print *, a

end program test_alloc