pytanie odnośnie drukowania na ekranie

Odpowiedz Nowy wątek
2006-09-15 19:17
0

Już mówię w czym problem. Powiedzmy, że mamy program główny i wątek poboczny. W programie głównym jest pętla, w której pobiera się tekst z konsoli używając funkcji gets(). W wątku pobocznym między wieloma instrukcjami znajduje się jedna, która drukuje jakiś tekst (np cout).
Problem jest taki, że jeżli w momencie wpisywania tekstu (w wierszu poleceń pod konsolą) wątek poboczny wykona instrukcję drukowania na ekranie (nie ważne jaką, cout, printf, fputc(...., stdout), etc...), to na ekranie pojawi się to co ta funkcja ma wyświetlić, plus jeszcze to co w danej chwili wpisywałem i w dodatku skasuje mi tekst który w danej chwili był wpisywany w wierszu poleceń.
Oczywiście powodem będzie znak nowej lini na końcu danych drukowanych przez funkcję z wątku pobocznego, ale niestety w moim przypadku tak musi być.
Ma ktoś jakiś pomysł na uporanie się z tym zjawiskiem??
Pozdrawiam.


Pozostało 580 znaków

2006-09-15 20:34
0

Zainteresuj się mutexami. Nie wiem jakich wątków uzywasz, ale w kazdej implementacji powinno coś takiego być.


Pozdrawia DzieX

int getRandomNumber() { return 4; }

Pozostało 580 znaków

2006-09-15 20:47
0

po raz kolejny tłumaczę, że to nie do końca kwestia synchronizacji... ale dobry człowiek z 4p uświadomił mi istnienie "ncurses". Więc problem rozwiązany.
Pozdrawiam.


Pozostało 580 znaków

2006-09-15 22:37
0

mozesz uzyc np: kolejki, a co do curses to chyba masz na mysli funkcje refresh'o podobne, bo wtedy to faktycznie nie ma znaczenia kiedy watek cos wypisze skoro i tak jedna funkcja odsiwerzy terminal


Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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