Czyszczenie zawartości strumienia wejściowego
Ostatnio zmodyfikowano 2011-07-22 11:37
Lamerek Temat założony przez niniejszego użytkownika |
Czyszczenie zawartości strumienia wejściowego » 2011-07-22 11:18:11 "Jeśli chcemy mieć większą kontrolę nad strumieniem wejściowym to powinniśmy czyścić jego zawartość przed każdym wczytaniem danych. Aby to zrobić musimy wywołać dwie metody strumienia std::cin. Pierwszą z nich jest std::cin.clear(), która czyści flagi błędu. Drugą metodą jest std::cin.sync(), która czyści bufor strumienia." Nie bardzo rozumiem o co tu chodzi. Mógłby mi ktoś to wyjaśnic? I jeszcze nie wiem w jakim celu czyści się bufor. Proszę o odpowiedź |
|
DejaVu |
» 2011-07-22 11:31:26 Przeczytałeś rozdział do końca? |
|
Thud |
» 2011-07-22 11:33:08 A co robisz jak masz kibel zapchany? Chyba czyścisz? Tak samo ze strumieniami. |
|
DejaVu |
» 2011-07-22 11:33:49 Trochę złe porównanie ;p |
|
Lamerek Temat założony przez niniejszego użytkownika |
» 2011-07-22 11:37:26 Przeczytałem dokładnie kilka razy i już wiem.
#include <iostream> int main() { using namespace std; double a; double b; double c; cout << "Podaj trzy liczby rzeczywiste: "; cin >> a; bool wczyt = cin.good(); cin >> b; bool wczyta = cin.good(); cin >> c; bool wczytano = cin.good(); cout << "liczba a=" << a << endl; cout << "Wczytano?" << wczyt << endl; cout << "liczba b=" << b << endl; cout << "Wczytano?" << wczyta << endl; cout << "liczba c=" << c << endl; cout << "Wczytano?" << wczytano << endl; return 0; }
Teraz wiem dlaczego mi ten program nie działał. Po każdym wypisaniu trzeba czyścić bo się błędy robią. Dziękuje za pomoc |
|
« 1 » |