【发布时间】:2014-01-03 16:18:49
【问题描述】:
我的代码(精简到我认为与这个问题相关的内容)是
PROGRAM test
IMPLICIT NONE
CHARACTER(len=37) input
CHARACTER(len=:), allocatable :: input_trim
WRITE(*,*) 'Filename?'
READ(*,*) input
ALLOCATE(character(len=LEN(TRIM(input))) :: input_trim)
input_trim=trim(input)
.
.
.
END PROGRAM test
它在 Intel 的 Fortran 编译器上运行良好,但是 gfortran 给了我几个错误,第一个错误是在行中说
CHARACTER(len=:), allocatable :: input_trim
对于 Fortran 标准,我不确定哪个编译器是“正确的”。另外我不知道如何以不同的方式实现我需要的东西?!我认为无论如何我正在做的更多的是一种解决方法。我需要的是一个字符变量,其中包含输入的文件名,后面没有空格。
编辑:错误是“字符声明中的语法错误”。 gfortran --version 给我“GNU Fortran (GCC) 4.4.7 20120313 (Red Hat 4.4.7-3)”
编辑 2:关于分配,您是对的:使用 ifort,我不需要它。并且 gfortran 在此之前崩溃了,所以也许它也不需要分配,但我目前无法测试这个......
【问题讨论】: