Я хотел бы следующее поведение без использования system
Как узнать, установлено ли в системе меньше?
int ret = system("less -V > /dev/null 2>&1");
if (ret == 0) {
printf("The less executable was found.\n");
}
мне нужна переменная ret
быть 0, если меньше, установлен в системе, но без использования вызова system
. Можно ли это сделать с exec
или аналогичным?
* но без использования вызова 'system' *. Это странное требование. –
Да, очень странно. Вам понадобится fork() и, вероятно, захотите использовать execlp(), и это будет работать только на Linux, а не на BSD на базе Unix (как описано здесь (http://man7.org/linux/man-pages/man3/exec. 3.html) – GroovyDotCom
Это наше требование, чтобы узнать C, что мы не «обманываем» и используем системный вызов, потому что проблема является частью упражнения, чтобы изучить C89 без использования системного вызова, если это возможно. –