Sprawdzenie czy strumień wejścia jest pusty
Ostatnio zmodyfikowano 2014-07-01 21:14
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ę)? |
|
Monika90 |
» 2014-07-01 13:08:44 int x; while( std::cin >> x ) { }
to wystarczy |
|
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ś". |
|
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. |
|
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? |
|
Jacob99 |
» 2014-07-01 14:41:23 cin.get(), ale działa na takiej samej zasadzie. |
|
hurricane Temat założony przez niniejszego użytkownika |
» 2014-07-01 21:14:08 Dziękuję jeszcze raz, bardzo mi państwo pomogli. |
|
« 1 » |