gpt4 book ai didi

c - 在 c 宏方面需要帮助

转载 作者:太空宇宙 更新时间:2023-11-04 05:12:51 26 4
gpt4 key购买 nike

我已经编写了一个代码,但它并没有像我预期的那样工作。我想将字符串变量传递给宏并打印。

#define XSTR(a) "/home/"STR(a)"/log"
#define STR(a) #a
int main()
{
char *test = "user1";
printf("%s", XSTR(test));
}

上面的程序打印“/home/test/log。但我想打印“/home/user1/log”。我知道预处理器不能获取运行时值。但是有什么办法可以实现吗?

谢谢,

最佳答案

由于您没有提供任何使用宏的动机,更好的解决方案可能是完全避免使用它:

printf("%s", test);

编辑既然你想打印一些东西,你可以这样做:

printf("/home/%s/log", test);

关于c - 在 c 宏方面需要帮助,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28159815/

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