我有一个字符串数组char version[][8] = {"new", "old", "latest", "oldest", "ancient"}
;
我有一个宏
#define FS(file, attr) \
filesys(file, file_ ##attr## _ops) \
如何将字符串数组version
的成员传递到FS宏中?
答案 0 :(得分:2)
您不能。宏是编译时间,编译器将无法以所需方式拼接字符串。而是尝试使用strcat()
,只是不要忘记您需要跟踪字符串数组的大小。
答案 1 :(得分:2)
您不能在宏中使用任何C功能,因为预处理器对C和C语言一无所知。
请记住,这是编译时令牌替换。
改为使用普通功能