Очистить буфер ввода

119
01 декабря 2020, 20:30

Пытаюсь написать кроссплатформенную функцию, аналог system("pause");

// Пауза перед закрытием
void PauseOnExit(int lang) {
    PrintVStr(14, lang);
    getchar();
    exit(0);
}

Все хорошо, но, если пользователь до этого что-то ввел - программа сразу закрывается, т.к. могли остаться непроанализированные символы в буфере ввода. И getchar этот прошлый ввод считывает. Вопос: как, собственно, очистить данный буфер? Решение должно быть кроссплатформенным.

Answer 1
std::cin.seekg(0, std::ios::end);
std::cin.clear();
READ ALSO
Как добавить программу в автозагрузку Windows используя C/C++?

Как добавить программу в автозагрузку Windows используя C/C++?

Можно ли добавить программу в автозагрузку с помощью C/C++? (без WinAPI)

129
Объясните как работает алгоритм с++

Объясните как работает алгоритм с++

Как работает этот алгоритм, в особенности интересует 13,15,16,18 строкиКонечно ясно что он выводит номер последнего вхождения подстроки и количество...

106
Не полное выделение памяти с++ malloc

Не полное выделение памяти с++ malloc

От чего у меня выделяется память только для одного элемента?

132
Как убрать пробел после последней цифры, при построении числовой пирамиды?

Как убрать пробел после последней цифры, при построении числовой пирамиды?

Написал код для создания числовой пирамиды на N строк, где в каждой строке нумерация идет от 1 до N строки через пробелВсе компилируется и работает,...

113