Имеется две эквивалентные функции, предназначенные для ввода символа - getc() и fgetc(). Поддержка двух идентичных функций необходима для сохранения совместимости со старыми версиями С.
Функция getc() используется для чтения символов из потока, открытого на чтение с помощью fopen(). Прототип getc() следующий:
int getc(FILE *fp);
где fp - это указатель на файл типа FILE *, возвращенный fopen(). По традиции getc() возвращает целое, но старший байт установлен в 0.
Функция getc() возвращает EOF при достижении конца файла. Для чтения текстового файла до конца следует использовать следующий код:
ch = getc(fp);
while(ch!=EOF) {
ch = getc(fp);
}