Как я могу избежать переменных, отправленных команде 'system' в C ++?

Этот вопрос говорит об использованииsystem переменные команды и передачи. Вот пример, который он дает:

string cmd("curl -b cookie.txt -d test=");
cmd += line;
cmd += "  http://example.com";
system(cmd.c_str());

В одном из комментариев упоминается, что еслиline был передан и содержалсяfoo & fire_nukes.exe & REM тогда вполне может случиться что-то плохое.

PHP имеет отличную функцию под названиемescape_shell_args который может использоваться для экранирования параметров, которые передаются в программу. Есть ли в C ++ способ сделать это?

Ответы на вопрос(4)

Ваш ответ на вопрос