【问题标题】:Concatenation of two strings does not work [duplicate]两个字符串的连接不起作用[重复]
【发布时间】:2015-09-17 00:12:16
【问题描述】:

我有以下代码,但它不起作用:

 CHARACTER*260 xx, yy, zz     
  xx = 'A'   
  yy = 'B'
  zz = xx // yy

当我在 Visual Studio 中调试我的代码时,

  • 变量xx 包含“A”
  • 变量yy 包含“B”
  • 变量zz包含'A'

为什么zz 不包含“AB”?

【问题讨论】:

    标签: fortran string-concatenation


    【解决方案1】:

    您将 xx 定义为 260 个字符长。分配较短的字符文字将导致用空格填充。因此,xx 包含 A 和 259 个空格。 yy 包含 B 和 259 个空格。所以连接的字符串将是'A' + 259 个空格 + 'B' + 259 个空格,总共 520 个字符。

    由于zz 的长度只有 260 个字符,其余部分被裁剪。

    你想要做的事情是通过

    zz = trim(xx) // trim(yy)
    

    trim() 从字符串中删除尾随空格。

    【讨论】:

    • yy 的修剪是不必要的,但也不会造成问题。
    猜你喜欢
    • 1970-01-01
    • 2013-11-04
    • 2014-05-20
    • 2018-06-25
    • 1970-01-01
    • 2019-10-23
    • 1970-01-01
    • 2019-01-16
    • 2021-01-26
    相关资源
    最近更新 更多