Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

Strumień wejścia w dowolnej chwili

Ostatnio zmodyfikowano 2012-07-02 19:33
Autor Wiadomość
ksry
Temat założony przez niniejszego użytkownika
Strumień wejścia w dowolnej chwili
» 2012-07-01 00:32:27
Sprawa wygląda tak, mam while w którym chciałbym sprawdzać czy nie zostało coś umieszczone w strumieniu wejścia. Gdy używam zwykłego cin'a to program czeka aż wpiszę coś.
tak miałoby to wyglądać mniej więcej:
C/C++
while( true )
{
    cin.sync();
    if( sprawdz_co_jest_w_buforze == "stop" ) break;
   
    zrobcos();
}
return 0;
P-59406
DejaVu
» 2012-07-01 00:34:04
» Kurs C++ » Poziom 1Obsługa strumienia wyjściowego lekcja
» Kurs C++ » Poziom 3Zmienne przechowujące tekst lekcja

PS. std::cin zawsze wstrzymuje program do czasu aż się dane jakieś nie pojawią w strumieniu.
P-59407
kampar
» 2012-07-01 10:47:17
Można albo samemu napisać obsługę wejścia (trzeba poszukać jakiejś funkcji, która zwraca wprowadzony znak z klawiatury i jednocześnie nie blokuje programu), albo utworzyć nowy wątek i w jednym dać std::cin, a w drugim wykonywać jakieś operacje
P-59410
ksry
Temat założony przez niniejszego użytkownika
» 2012-07-01 10:52:14
jak strumieniem wyjścia mam sprawdzić czy ktoś przypadkiem w konsoli nie napisał stop ?
w lekcji o strumieniu wejściowym nie ma nic innego od cin i getline, ale getline też kończy działanie programu
P-59411
jsc
» 2012-07-01 11:23:56
utworzyć nowy wątek i w jednym dać std::cin

Prościej byłoby przechwytywanie strumienia oprzeć na obsłudze pętli głównej WinAPI.
P-59412
pekfos
» 2012-07-01 11:48:42
Napisz własne wczytywanie oparte o getch() i kbhit().
P-59413
DejaVu
» 2012-07-01 17:58:57
Albo użyj biblioteki ncurses (» KursyKurs New Curses, C++ kurs).
P-59427
szymekpl
Odp:
» 2012-07-02 19:33:57
A funkcja GetAsyncKeyState() z WinAPI? Powinna się sprawdzić w tej sytuacji :)
P-59444
« 1 »
  Strona 1 z 1