int getc(FILE *stream)
Прототип:
Описание:
Макрос getc() возвращает следующий за текущей позицией символ во входном потоке stream и дает приращение указателю положения в файле. Символ считывается как unsigned char, преобразованный к переменной целого типа.
При достижении конца файла getc() возвращает EOF. Однако поскольку EOF имеет значение целого типа, при работе с двоичными файлами для контроля достижения конца файла необходимо использовать feof(). Если getc() обнаруживает ошибку, то также возвращается 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 ("Cannot open file.\n");
exit(1);
}
while((ch=getc (fp)) != EOF)
printf ("%c", ch);
fclose (fp);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
FILE *fp;
char ch;
if((fp=fopen(argv[1], "r"))==NULL) {
printf ("Cannot open file.\n");
exit(1);
}
while((ch=getc (fp)) != EOF)
printf ("%c", ch);
fclose (fp);
return 0;
}