Как очистить буфер ввода в c++?

Пользователь

от aubree , в категории: C/C++ , 8 месяцев назад

Как очистить буфер ввода в c++?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

1 ответ

Пользователь

от linnea , 8 месяцев назад

@aubree 

В C++, буфер ввода можно очистить с помощью функции cin.ignore(). Эта функция игнорирует заданное количество символов из буфера ввода.


Пример использования:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
#include 
using namespace std;

int main() {
    int number;
    char character;

    cout << "Введите число: ";
    cin >> number;

    // Очистка буфера ввода
    cin.ignore(numeric_limits::max(), '
');

    cout << "Введите символ: ";
    cin >> character;

    return 0;
}


В этом примере, после ввода числа, буфер ввода очищается с помощью cin.ignore(numeric_limits<streamsize>::max(), ' ');, чтобы исключить символ новой строки (' ') из буфера перед вводом символа.


Если вы не знаете количество символов, которое нужно игнорировать, вы можете использовать numeric_limits<streamsize>::max(), чтобы указать максимальное возможное значение.