odczytywanie standardowego wyjscia

0

mam program test.exe, kiedy go wywolam w nastepujacy sposob:
test.exe abc
czyli z argv[1]="abc" wtedy na standardowe wyjscie wywala napis "hello", jak odczytac standardowe wyjscie tego programu, program uruchamiam za pomoca funkcji exec() lub podobnych, nie interesuje mnie rozwiazanie typu tworzenie pliku tmp.sh o zawartosci "test.exe abc > tmp.txt" a potem odczytanie zawartosci tmp.txt

z gory dzieki

0

Musisz stworzyc sobie kolejke fifo (np. za pomoca pipe() albo mkfifo()). Na jeden koniec przekierowujesz za pomoca freopen() stdout programu, ktorego wyjscie chcesz czytac , a z drugiego konca czytasz za pomoca np. read() albo fscanf(). Polecenia Ci podalem, reszte doczytaj sobie w manualu.

1 użytkowników online, w tym zalogowanych: 0, gości: 1