Собственно глупый вопрос. Когда рисуешь фильтр на С -- читать можно как угодно. Но как определить, что на входе все кончилось?То есть кончился ли файл, или юзверь ^Z нажал.
В С++ -- у потока есть .eof() . А в С у stdin есть нечто подобное?
Проверяй на наличие в прочитанном EOF. Константа определяется где-то в sys/types.h или в unistd.hЭто может не сработать, если читаешь поток, являющийся частью диалога - тот кто пишет тебе совершенно не обязательно, перед началом ожидания от тебя, пошлет тебе EOF ( telnet например ). Ну и потом - могут ^C нажать или ^D, по-хорошему надо еще и сигналы ловить.
По идее, stdin описан как "FILE *". Тогда можно пользовать "feof(stdin)".