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;
}
#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;
}