如何从文件中声明未知行数
How to declare the unknown number of line from file
由于之前的操作(来自 python 脚本),我必须使用一个可以更改行数的文件,并且该行数将用于声明另一个变量,如下所示。
integer NumberOfLine !This is not work,Of course.
real(8) F(FixedDimension,NumberOfLine)
integer, parameter :: NewDimension = ANumber*NumberOfLine
如何正确声明 NumberOfLine。谢谢。
我可以从 python 传递行数,所以基本上我知道 python 操作完成后的数字
如果你声明一个参数,它的值必须在编译时固定。因此,如果编译器不知道 NumberOfLine
.
的值,您的 integer, parameter :: newDimension = ANumber * 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
由于之前的操作(来自 python 脚本),我必须使用一个可以更改行数的文件,并且该行数将用于声明另一个变量,如下所示。
integer NumberOfLine !This is not work,Of course.
real(8) F(FixedDimension,NumberOfLine)
integer, parameter :: NewDimension = ANumber*NumberOfLine
如何正确声明 NumberOfLine。谢谢。 我可以从 python 传递行数,所以基本上我知道 python 操作完成后的数字
如果你声明一个参数,它的值必须在编译时固定。因此,如果编译器不知道 NumberOfLine
.
integer, parameter :: newDimension = ANumber * 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