我有一个非常简单的问题,我还没有找到答案。
有没有什么方法可以将字符(特别是空格)附加到已经在Fortran中初始化的字符?
显然
CHARACTER(2000) :: result
result = ''
result = result // ' '
不起作用。
答案 0 :(得分:6)
你想要达到什么目的?当然它有效,但它没有多大用处。尝试上一个问题中已经建议的方法。特别要注意的是,所有字符串在最后一个非空格字符后都填充了空格,这非常重要!
'a'//' ' really produces 'a '
但
result = result//' '
生成一个2001字符串,然后在赋值时截断,以便result
最终成为相同的。
你可能想要
result = trim(result)//' '
但它也没用,因为无论如何字符串都填充了空格。
如果你想让变量更大,你必须使用:
character(:),allocatable:: result
result = '' !now contains ' ' and has length 1
result = result//' ' !now contains ' ' and has length 2
您必须在某些处理器上分配时启用重新分配。