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

标签 c string macros c-preprocessor stringification

设第一行为:

#define TAG_LEN 32

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

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

最佳答案

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

关于将 C 宏定义字符串连接到文字字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18574532/

相关文章:

将结构复制到 char 缓冲区

java - 整数转换为字符串时会发生什么

c++ - 有没有办法在 C++ 函数中获取函数名?

macros - 在 macro_rules 中使用另一个宏而不需要使用rust 的 `extern crate`

c++ - `#input`类型的宏字符串在C++中是如何分配的?

c - 在 Linux (include/linux/list.h) 中使用 C 代码的大括号的用途?

C 指针的大小和所指向的值不匹配

c - 使用线程,我应该如何处理理想情况下应该按顺序发生的事情?

c# - 进行拆分并将结果转换为整数的最佳方法

c++ - MFC如何从另一个类获取CString到CRegSettings类