Не работает fflush(stdin) в Visual Studio
![Не работает fflush(stdin) в Visual Studio](/content/images/size/w2000/2021/11/Screenshot_2.png)
Как заставить работать функцию fflush(stdin) в Visual Studio 2017/2015/2013/2010
До поры до времени для того чтобы чистить поток использовалась функция fflush(stdin).
Что произойдет если мы попытаемся ввести char не очищая поток:
![Без чистки потока](https://blog.disonds.com/content/images/2017/02/Screenshot_1.png?resize=770%2C295)
Второй scanf пропускается не запрашивая ввода с клавиатуры.
Тогда попробуем очистить поток с помощью функции fflush(stdin) :
![Используя fflush(stdin)](https://blog.disonds.com/content/images/2017/02/Screenshot_2.png?resize=770%2C385)
Опять же второй scanf пропускается.
Для корректной очистки потока вместо fflush(stdin) используем конструкцию:
while (getchar() != '\n');
Вот что у нас получилось:
![Используя while (getchar() != '');](https://blog.disonds.com/content/images/2017/02/Screenshot_3.png?resize=770%2C403)
Теперь поток очищается и второй scanf не пропускается.
Видео по теме: