Na czym dokładnie polega działanie funkcji cin.sync()?

0

Hejka, wiem że był już taki temat na forum i szukałem też informacji w google na ten temat ale nadal tego nie ogarniam :( Mógłby ktoś mi wyjaśnić może też podać jakiś przykład na czym dokładnie polega działanie funkcji cin.sync() ?

Rozumiem że cin.clear() czyści mi bufor, okej fajnie. W przykładach które przeanalizowałem w internecie często jest wywoływana z nią właśnie funkcja cin.sync() jakby sama funkcja cin.clear() nie mogła do tego wystrarczyć, do pełnej kontroli nad wprowadzaniem danych przy użyciu obiektu cin.
Pozdrawiam

1

Rozumiem że cin.clear() czyści mi bufor

Not even close, .clear() czyści flagi błędu strumienia, ale nie usuwa z niego żadnych danych.

0

W skrócie: sync może opróżnić bufor wejściowy z nieprzeczytanych znaków, ale nie musi. Zachowanie tej metody zależy od implementacji i rodzaju buffora (std::streambuf).

0

...i dlatego najlepiej posłużyć się metodą std::cin.ignore().

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