1. ホーム
  2. c++

[解決済み] C/C++ マクロ文字列連結

2022-04-28 07:16:04

質問

#define STR1      "s"
#define STR2      "1"
#define STR3      STR1 ## STR2

を連結することは可能ですか? STR1STR2 に、です。 "s1" ? 他のMacro関数にargsを渡すことで可能です。 しかし、直接的な方法はないのでしょうか?

どのように解決するのですか?

両方が文字列なら......やればいいんです。

#define STR3 STR1 STR2

そして、これは次のように展開されます。

#define STR3 "s" "1"

のようにスペースで2つの文字列を区切り、C言語では "s" "1" は、まさに1つの文字列を持つことと同じです "s1" .