我想使用宏在c中连接几个字符串,我做的是:
#define PROCESS_NAME "process_a"
#ifdef WITH_PID_FILE
#define PROCESS_PID "-p /tmp/process_a.pid"
#else
#define PROCESS_PID ""
#endif
#define PROCESS_CMD PROCESS_NAME" -i %s -a %s "PROCESS_PID" &"
但它看起来真的很糟糕,还有更好的方法吗?
我的目标是在snprintf中使用PROCESS_CMD并执行系统调用
答案 0 :(得分:0)
如果macros
的内容已修复且不会更改,您将在多个位置使用它们,那么这很好。
然而,使用snprintf
中的宏可能会使命令的可读性降低,乍一看也不那么明显。
查看有关宏用法的here。