gpt4 book ai didi

c - 使用预处理器语法获取 const char

转载 作者:太空狗 更新时间:2023-10-29 15:52:55 24 4
gpt4 key购买 nike

为了更正拼写错误,并添加我遇到的我忘记提及的问题,这是宏:

#define SUFFIX .new
#define STR(x) #x
#define GENFILE(name,suff) STR(timings/name suff)

GENFILE(test1, SUFFIX)

上面的代码生成了 timings/test1.new 如果我没有那个额外的空间,我就会得到我想要的东西,我该如何解决这个问题?

最佳答案

更简单:只需说#define GENFILE(name) STR(timings/name)

斜杠分隔预处理器标记,所以 GENFILE(test1) 变成了 STR(timings/test1) ,它被整体字符串化了。

(现在你可以说 #include GENFILE(myheader)。)


或者,您可以说 #define GENFILE(name) STR(timings/) #name,但这会导致两个连接的字符串 "timings/""test1"。请注意,正如@hvd 正确观察到的那样,不能在 #include 指令中使用字符串连接。

关于c - 使用预处理器语法获取 const char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12495711/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com