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

Sprawdzenie czy strumień wejścia jest pusty

Ostatnio zmodyfikowano 2014-07-01 21:14
Autor Wiadomość
hurricane
Temat założony przez niniejszego użytkownika
Sprawdzenie czy strumień wejścia jest pusty
» 2014-07-01 13:01:31
Szanowni Państwo,
Spotkałem się z bardzo prozaicznym problemem: program pobiera nieznaną ilość danych (tzn. dawane jest mu na wejście n int-ów, gdzie nie znam n). Owe dane pobieram pętlą. W jaki sposób sprawdzić na końcu, czy strumień wejściowy jest pusty, że nie ma nic innego do pobrania (by przerwać pętlę)?
P-113023
Monika90
» 2014-07-01 13:08:44
C/C++
int x;
while( std::cin >> x )
{
    //rób coś z liczbą
}

//wyszliśmy z pętli, nie ma więcej liczb
to wystarczy
P-113025
hurricane
Temat założony przez niniejszego użytkownika
» 2014-07-01 13:42:29
Powyższe niezbyt działa. Po wykonaniu cin>>x tak czy inaczej program czeka na wpisanie "czegoś".
P-113031
Monika90
» 2014-07-01 13:47:34
Jak będzie uruchomiony w sprawdzarce to nie będzie czekał. Jak uruchamiasz go w trybie interaktywnym to w Windows możesz naciśnąć Ctrl+Z i Enter, a w Linuksie Ctrl+D, żeby poinformować program że nie ma więcej danych.
P-113033
hurricane
Temat założony przez niniejszego użytkownika
» 2014-07-01 13:52:40
Bardzo dziękuję, działa tak, jak podano powyżej. Jakkolwiek pozwolę sobie ponowić początkowe pytanie: czy istnieje funkcja, która sprawdza, czy w strumieniu wejścia coś się znajduje?
P-113036
Jacob99
» 2014-07-01 14:41:23
cin.get(), ale działa na takiej samej zasadzie.
P-113038
hurricane
Temat założony przez niniejszego użytkownika
» 2014-07-01 21:14:08
Dziękuję jeszcze raz, bardzo mi państwo pomogli.
P-113072
« 1 »
  Strona 1 z 1