Содержание | Глава 13

Функция fgetc

#include <stdio.h>
int fgetc(FILE *stream);

Функция fgetc() возвращает символ, взятый из входного потока stream и находящийся сразу после текущей позиции, а также увеличивает указатель текущей позиции файла. Этот символ читается как значение типа unsigned char, преобразованное в целое.

При достижении конца файла функция fgetc() возвращает значение EOF. Ho по скольку значение EOF является действительным целым значением, при работе с двоичными файлами для обнаружения конца файла необходимо использовать функцию feof(). Если функция fgetc() обнаруживает ошибку, она возвращает значение EOF. Для выявления ошибок, возникающих при работе с двоичными файлами, необходимо использовать функцию ferror().

Пример

Следующая программа читает и выводит на экран содержимое текстового файла.

#include <stdio.h>
#include <stdlib.h>

int main(int argc, char *argv[])
{
  FILE *fp;
  char ch;

  if((fp=fopen(argv[1],"r"))==NULL) {
    printf("Невозможно открыть файл.\n");
    exit(1);
  }

  while((ch=fgetc(fp)) != EOF) {
    printf("%c", ch);
  }
  fclose(fp);

  return 0;
}

Зависимые функции

fputc() getc() putc() fopen()
Содержание | Глава 13