Я хочу Concat несколько строк в с помощью макроса, что я сделал это:, что это лучший способ Concat несколько строк в 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" &"
, но это выглядит действительно ужасно, есть ли лучший способ?
моя цель состоит в том, чтобы использовать PROCESS_CMD в snprintf и выполнить системный вызов
Это производит '' process_a "" -i% s -a% s "" -p /tmp/process_a.pid "" & "'. Действительно ли вам нужны '' 'знаки? – Dipto
@Dipto: После того, как препроцессор объединяет смежные строковые литералы, это становится' 'process_a -i% s -a% s -p /tmp/process_a.pid &' 'Кажется правильным мне , –