0

マクロを使用して 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 を使用し、システム コールを実行することです。

4

1 に答える 1

0

の内容macrosが固定されていて変更されず、複数の場所で使用する場合は、これで問題ありません。
ただし、マクロを使用するsnprintfと、コマンドが読みにくくなり、一目でわかりにくくなる場合があります。

マクロの使い方についてはこちらをご覧ください。

于 2013-03-25T10:05:02.113 に答える