Ignorowanie nadmiaru znaków ze strumienia cin

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!

0

cin.sync()

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

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