Ignorowanie nadmiaru znaków ze strumienia cin

Odpowiedz Nowy wątek
2010-05-09 15:38

Rejestracja: 10 lat temu

Ostatnio: 6 lat temu

0

Witam!

W pewnym miejscu mojego programu wczytuję ze strumienia cin pojedynczo znaki za pomocą funkcji get();
W pętli jest warunek, który kończy wczytywanie, gdy napotka znak "@". Po tym znaku mogą wystąpić jeszcze jakieś znaki i mój problem polega na tym, że nie wiem jak te znaki zignorować, bo po wczytywaniu wyświetla się pewien tekst i gdy będą jeszcze jakieś znaki do wczytania, to wtedy on "szybko zniknie":

while ( znak!='@' )
    {
        //treść pętli
        cin.get(znak);            
    }
    cin.ignore();
    cin.ignore();

    cout<<"Jakiś tekst";
    getchar();

Drugie polecenie cin.ignore(); radzi sobie z jednym dodatkowym znakiem. Żeby pominąć dwa znaki musiałbym napisać 3 razy cin.ignore();
Co zrobić, żeby wczytać niewiadomą ilość znaków ze strumienia?? Jaki ma być warunek pętli?

Pozdrawiam!

Pozostało 580 znaków

2010-05-09 16:09
Moderator

Rejestracja: 16 lat temu

Ostatnio: 7 godzin temu

0

cin.sync()


Masz problem? Pisz na forum, nie do mnie. Nie masz problemów? Kup komputer...

Pozostało 580 znaków

2010-05-09 21:28

Rejestracja: 14 lat temu

Ostatnio: 23 godziny temu

0
cin.ignore(numeric_limits<streamsize>::max(),'\n');

Pozostało 580 znaków

Odpowiedz

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