显然无法将字符串附加到另一个字符串

时间:2013-05-02 16:44:06

标签: string append fortran

我有一个非常简单的问题,我还没有找到答案。

有没有什么方法可以将字符(特别是空格)附加到已经在Fortran中初始化的字符?

显然

CHARACTER(2000) :: result
result = ''
result = result // ' '

不起作用。

1 个答案:

答案 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

您必须在某些处理器上分配时启用重新分配。