web-dev-qa-db-ja.com

2つの文字列の連結が機能しない

次のコードがありますが、機能しません。

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

Visual Studioでコードをデバッグすると、

  • 変数xxには「A」が含まれます
  • 変数yyには「B」が含まれます
  • 変数zzには「A」が含まれます

zzに「AB」が含まれていないのはなぜですか。

7
user3443063

xxを260文字の長さに定義しました。短い文字リテラルを割り当てると、空白が埋め込まれます。したがって、xxにはAと259個の空白が含まれます。 yyにはBと259個の空白が含まれています。したがって、連結された文字列は、_'A'_ +259個の空白+ _'B'_ + 259個の空白、合計520文字になります。

zzの長さはわずか260文字なので、残りはトリミングされます。

あなたがやろうとしていることはによって達成されます

_zz = trim(xx) // trim(yy)
_

trim() 文字列から末尾の空白を削除します。

21
Alexander Vogt