Я вызываю утилиту, установленную в unix из программы на C с помощью system(). Вход для вызова утилиты имеет аргументы, разделенные точками с запятой. как указано ниже.Как избежать точки с запятой в системной функции C
snprintf(buffer, sizeof(buffer), ". /path/to/program/env.sh && utilityname command WKS#%s\;at=%s", strmnm,dte);
system(buffer);
Проблема в том, что аргументы после точки с запятой игнорируются/рассматриваются как следующая команда. Я попытался убежать с '\', как указано выше \; Но это не работает.
Вы пробовали прохождение '\\\;'? – Leeor
Только что попробовал WKS #% s \\\; at =% s и он предупреждает: неизвестная escape-последовательность '\;' – Kevin