Spuštění externího programu

milo

Spuštění externího programu
« kdy: 10. 11. 2014, 15:20:11 »
Potřebuji spustit externi program z vlastního programu, chci dostat jak vystupni textový řetězec tak návratovou hodnotu programu. Nedochází mi jak to snadno provest.
něco z rodiny exec* nebo system(),  jenže ani u jednoho mi nedochází jak elegantne dostat stream z tohoto externího programu.

a něco jako
Kód: [Vybrat]
int ret = system(foo >> foo.txt);používat nechci, protože stejnak nedostanu správnou návratovou hodnotu.

Díky za hinty jak se toto správně řeší.
« Poslední změna: 10. 11. 2014, 15:31:31 od Petr Krčmář »


poustevnik

Re:Spuštění externího programu
« Odpověď #1 kdy: 10. 11. 2014, 15:39:49 »
Kód: [Vybrat]
FILE * f = popen("foo","r");
/* dale ctu z "f" */
int exit_code = pclose(f);
viz "man popen"

milo

Re:Spuštění externího programu
« Odpověď #2 kdy: 10. 11. 2014, 16:58:49 »
No tak problem je touto odpovedi zjevne vyresen.
Díky M