Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
次のように、変数を使用してマクロ文字列を定義する方法がわかりません。 #define str(x) "file x.txt"つまり、 str(1) が「ファイル 1.txt」を参照することを望んでいます。ただし、この場合、x は文字であるため、str(1) または任意の数値は「ファイル x.txt」を参照します。 これを解決する方法はありますか?
#define str(x) "file x.txt"
文字列を連結します。
#define STR(x) "file " #x ".txt"
これは、2 つの言語の字句機能を利用します。隣接する文字列リテラルは連結されます。C++11 2.2/6 と C11 5.1.1.2/6 の両方を参照してください。
隣接する文字列リテラル トークンは連結されます。
#define str(x) ("file " #x ".txt")
文字列化演算子の使用#
#