将C宏定义字符串连接到文字字符串

时间:2013-09-02 13:32:10

标签: c string macros c-preprocessor stringification

让第一行为:

#define TAG_LEN 32

现在,我需要将它与文字字符串常量连接起来;类似的东西:

puts("Blah" [insert your answer] TAG_LEN); // I need "Blah32".

2 个答案:

答案 0 :(得分:3)

#define STR_NOEXPAND(tokens) # tokens
#define STR(tokens) STR_NOEXPAND(tokens)
puts("Blah" STR(TAG_LEN));

答案 1 :(得分:0)

你可以这样做:

printf("Blah%d", TAG_LEN);

或者如果你有一个字符串

char *yourString;// initiate it with your value

printf("Blah%s%d",yourString, TAG_LEN);