Очистка буфера для нескольких входов в одной строке - PullRequest
0 голосов
/ 12 апреля 2020

Есть ли возможность очищать буфер после каждого входа при наличии нескольких входов в одной строке? Я захватывал каждую переменную по одной и очищал буфер следующим образом:

cin >> length;
cin.clear();
cin.ignore(10000, '\n'); 

- это то же самое, что возможно с этой строкой кода:

cin >> length >> width >> height;

1 Ответ

1 голос
/ 12 апреля 2020

Вы можете написать собственный манипулятор

istream& clear_buffer(istream& in)
{
    in.clear();
    in.ignore(10000, '\n');
    return in;
}

cin >> length >> clear_buffer >> width >> clear_buffer >> height >> clear_buffer;
...