Как определить, был ли popen () успешным? - PullRequest
3 голосов
/ 21 декабря 2011

Как вы можете узнать, если popen() успешно / успешно выполнил запуск оболочки или не удалось?

Ответы [ 2 ]

6 голосов
/ 21 декабря 2011

возвращаемое значение popen :

После успешного завершения popen () возвращает указатель на открытие Поток, который можно использовать для чтения или записи в канал. В противном случае это должен вернуть нулевой указатель и может установить errno для указания ошибки.

fp = popen("ls *", "r");
if (fp == NULL)
    /* Handle error */;
3 голосов
/ 21 декабря 2011

Предполагая, что вы имеете в виду запуск popen в C-коде, вы можете проверить страницу руководства.В нем говорится, что popen вернет NULL в случае сбоя, а в противном случае он возвращает поток файлов.

...