Хотя этот ответ не подходит для портативного программного обеспечения, он работает именно так, как вам нужно, если вы уверены, что все в порядке:
int system(const char *command);
Эта функция выполняет command
в оболочке (CMDв windows), если доступно.
Под словом «если все хорошо» я имею в виду, что у вас есть оболочка в вашей ОС, и она доступна для вас.Как правило, это должно быть верно для окон.
Если вы вызываете его с помощью NULL
, он будет отличен от нуля, если доступна оболочка.Если вы даете фактическую команду, она либо возвращает -1
, указывая на ошибку (например, не удалось запустить процесс), либо возвращает статус команды, которая должна зависеть от ОС.Возможно, что вас больше всего беспокоит, так это «если команда завершилась неудачно», и вы должны быть хороши, проверив возвращаемое значение против 0 (0 - это хорошо).
Обратите внимание, что для получения выходных данных команды, ивам нужно где-то сохранить вывод.Например, выполните команду dir
следующим образом:
error = system("dir > temp.txt 2>&1");
и затем получите ее вывод из temp.txt
.