int eof(int fd)
Прототип:
Описание:
Функция eof() является частью UNIX-подобной системы и не определена в стандарте ANSI С. При вызове с действительным дескриптором файла eof() возвращает 1, если был достигнут конец файла; в противном случае она возвращает 0. В случае ошибки она возвращает —1, a errno устанавливается в EBADF (плохой номер файла).
Пример:
Следующая программа выводит на консоль текстовый файл, используя eof(), чтобы определить момент достижения конца файла. #include <stdio.h> #include <io.h> #include <fcntl.h> #include <stdlib.h> int main(int argc, char *argv[]) { int fd; char ch; if((fd=open(argv[1], O_RDWR))==-1) { printf ("Cannot open file.\n"); exit(1); } while(!eof(fd)) { read(fd, &ch, 1); /* чтение по символу за раз */ printf("%с", ch); } close(fd); return 0; }
