Skocz do zawartości

Jak Sczytywać Output Na Bieżąco (c/c++)


Kartik

Rekomendowane odpowiedzi

Hej,

Mam program, których wykonuje rozległe w czasie obliczenia wypisując na bieżąco ich stan i postęp. Chciałbym móc sczytywać jego output innym programem i na bieżąco je analizować i gdzieś tam zapisywać. Problem polega na tym ze gdy używam funkcji popen() dostęp do outputu mam dopiero po zakończeniu pracy programu (generującego sczytywany output). Czyli równie dobrze mógłbym sobie go przekierować do pliku z poziomu basha za pomocą >> i na to samo by wyszło (prawie). Mam więc pytanie jak sczytywać output na bieżąco?

 

Pozdrawiam i życzę spokojnych i udanych Świąt.

 

Kartik

Odnośnik do komentarza
Udostępnij na innych stronach

Nie jestem programistą, ale czy tego przy pomocy cin, cout nie można przypadkiem zrobić? Przynajmniej jesli chodzi o C++. W C jest o ile wiem getchar i putchar . Jeśli jest "coś" co wypisuje na standardowe wyjście, to chyba nie problem to standardowe wyjście odczytwać na bieżąco?

 

Czy ja nie rozumiem problemu czy komuś się lekcji nie chce odrabiać w Święta? <_<http://rtfm.killfile.pl/#praca_domowa

Odnośnik do komentarza
Udostępnij na innych stronach

1. Zawsze można użyć pliku jako pośrednika i otwierać/zamykać go w trakcie wykonywania programu. Jeśli masz dużo danych to plik jest dobrym pomysłem.

2. Najlepiej jakby program miał gotowe funkcje w C++ jak np. Octave #include <octave/oct.h> i bajka. A samemu to np. wpisz w google "c++ output gnuplot", będziesz miał przykład jak to zrobić.

 

Odnośnik do komentarza
Udostępnij na innych stronach

Dzięki za podpowiedzi. Problem w tym, że program generujący output nie jest moim programem i ma zamknięty kod. Nie mogę go zmusić żeby generował wyniki na bieżąco do pliku. Jestem skazany na przechwytywanie outputu tylko nie wiem jak to "na bieżąco" zrobić.

 

Odnośnik do komentarza
Udostępnij na innych stronach

A może wykorzystać podstawową własność linuksa - przetwarzanie potokowe. Wyjście tego zamkniętego programu przez potok stanie się wejściem Twojego programu

Dokładniej mam na myśli cos takiego

program_o zamknietym_kodzie | Twój_program_odczytujący_i_analizujący_strumień

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...