смысл fflush
От: warobushek  
Дата: 24.08.08 06:04
Оценка:

Как мне отменить ожидаемый ввод, так, чтобы данные, введенные
пользователем, не читались при следующем запросе? Поможет ли здесь
fflush(stdin)?

О: fflush определена только для вывода. Поскольку определение "flush"
("смывать") означает завершение записи символов из буфера (а не
отбрасывание их), непрочитанные при вводе символы не будут уничтожены
с помощью fflush. Не существует стандартного способа игнорировать
символы, еще не прочитанные из входного буфера stdio. Не видно также,
как это вообще можно сделать, поскольку непрочитанные символы могут
накапливаться в других, зависящих от операциооной системы, буферах.

На мой взгляд, ответ неверен. На своем опыте: всегда использую fflus(stdin) перед вызовом scanf и все работает.
Как Вы считаете?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.