什么是在C中连接几个字符串的更好方法

时间:2013-03-25 10:02:10

标签: c linux macros

我想使用宏在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并执行系统调用

1 个答案:

答案 0 :(得分:0)

如果macros的内容已修复且不会更改,您将在多个位置使用它们,那么这很好。
然而,使用snprintf中的宏可能会使命令的可读性降低,乍一看也不那么明显。

查看有关宏用法的here