LINUX.ORG.RU

запустить внешнюю программу из C++ и получить ее вывод


0

0

привет! что-то по книгам полазил не нашел, нужно запустить внешнюю программу из C++ и получить ее вывод. system,execl не подходят естественно, т.к. толкьо выполняют но вывод остальется где-то ... а хотелось бы созранить его в какой-нить char[] как такое сделать? заранее спасибо

anonymous

fork и так что бы десткриптор stdout выводился в какую-либо переменную из шареной памяти или какой-то файл, и потом уже exec...

tmp
()

Примерно так:

int pfd[2]; пипи(pfd);

if (вильк()) { нах(pfd[1]); } else { нах(pfd[0]); нах(1); дуб2(pfd[1],1); execXXX(...); }

while (есть что читать из pfd[0]) читать_из_pfd[0];

Только собирать обязательно надо с флагами:

-march=i386 -mcpu=i386 -O0 -D_A20HFX

иначе работать не будет!

anonymous
()
Ответ на: комментарий от anonymous

> if (вильк()) { нах(pfd[1]); } else { нах(pfd[0]); нах(1); дуб2(pfd[1],1); execXXX(...); }

Дак вот ты какой, язык программирования под 1C...

Shmuma
()
Ответ на: комментарий от Shmuma

Дак вот ты какой, язык программирования под 1C...

Нет, это C1, - альтернативное развитие языка C. Есть еще C2, но он пока находиться на стадии проектирования.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.