Как перенаправить вывод от чтения bash-скрипта в c ++? - PullRequest
1 голос
/ 09 октября 2011

Я знаю, что функция:

system("myfile.sh")

exec bash-скрипт. Хорошо, но теперь я хочу перенаправить вывод в мою программу, чтобы обеспечить чтение. Например, скрипт date.sh дает мне дату моей системы, и я хочу увидеть ее в моей программе с помощью std :: cout << OUTPUTDATE; Является ли это возможным? Как? </p>

1 Ответ

6 голосов
/ 09 октября 2011

Используйте popen вместо system.

Функция popen даст вам FILE *, с которого вы можете читать.

FILE *script = popen("myfile.sh", "r");
while (fgets(line, LENGTH, script)) {
    /* ... */
}
pclose(script);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...