Fortran存储连接字符串
我有一个简单的程序:Fortran存储连接字符串,fortran,Fortran,我有一个简单的程序: PROGRAM concatenate CHARACTER::char*11,name*4 CHARACTER(20)::charname char='hello there' name='Fred' WRITE(*,*) char WRITE(*,*) name charname = char // ', ' // name WRITE(*,*) charname END PROGRAM 假设我不想预先指定变量charname的长度,因此它的长度由cha
PROGRAM concatenate
CHARACTER::char*11,name*4
CHARACTER(20)::charname
char='hello there'
name='Fred'
WRITE(*,*) char
WRITE(*,*) name
charname = char // ', ' // name
WRITE(*,*) charname
END PROGRAM
假设我不想预先指定变量charname的长度,因此它的长度由char和name的长度自动确定。我能用Fortran语言吗
谢谢是的,您可以这样声明
charname
:
character(len=:), allocatable :: charname
当您为charname
赋值时,编译器/运行时将负责将charname
设置为正确的长度
charname = char//','//name
您甚至可以使用另一条语句自动重新分配它,例如
charname = char//', Mr'//name
这一切都取决于您的编译器是否实现了Fortran 2003的这些功能,但所有广泛使用的编译器的最新版本都实现了这些功能。Cheers Mark,非常有用。那么,这个字符可分配特性是F2003标准的一部分,还是也可以在F90/95中使用?