tag*_*ack 4 string fortran append
我有一个非常简单的问题,我还没有找到答案.
有没有什么方法可以将一个角色(特别是一个空格)附加到已经在Fortran中初始化的角色?
显然地
CHARACTER(2000) :: result
result = ''
result = result // ' '
Run Code Online (Sandbox Code Playgroud)
不起作用.
你想达到什么目的?当然它有效,但它没有多大用处.尝试上一个问题中已经建议的方法.特别要注意的是,所有字符串在最后一个非空格字符后都填充了空格,这非常重要!
'a'//' ' really produces 'a '
Run Code Online (Sandbox Code Playgroud)
但
result = result//' '
Run Code Online (Sandbox Code Playgroud)
生成一个2001字符串,然后在赋值时被截断,因此result最终会相同.
你可能想要
result = trim(result)//' '
Run Code Online (Sandbox Code Playgroud)
但它也没用,因为无论如何字符串都充满了空格.
如果要使变量更大,则必须使用:
character(:),allocatable:: result
result = '' !now contains ' ' and has length 1
result = result//' ' !now contains ' ' and has length 2
Run Code Online (Sandbox Code Playgroud)
您必须在某些处理器上分配时启用重新分配.
| 归档时间: |
|
| 查看次数: |
7975 次 |
| 最近记录: |