CodeNet / Языки программирования / C / C++ / Linux/Unix / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
fstat
FSTAT #include <sys\types.h> #include <sys\stat.h> int fstat(handle,buffer); int handle; handle-р, ссылающийся на открытый файл. struct stat *buffer; указатель на структуру хранения ре- зультатов. Описание: Функция fstat получает информацию об открытом файле, свя- занным с данным handle-ром, и запоминает ее в структуре, на кото- рую указывает buffer. Структура, тип stat которой объявлен в <sys\stat.h>, содержит следующие поля: Поле Значение st_mode Битовая маска для информации о режиме файла. Бит S_IFCHR устанавливается, если handle ссылается на устройство. Бит S_IFREG устанавливается, если handle ссылается на обычный файл. Биты чтения/записи пользователей устанавли- ваются соответственно режиму доступа для файла. st_dev Либо номер устройства диска,содержащего файл, либо handle - в случае другого устройства. st_rdev Либо номер устройства диска,содержащего файл, либо handle - в случае другого устройства (аналогично st_dev). st_nlink Всегда 1. st_size Размер файла в байтах. st_atime Время последней модификации файла. st_mtime Время последней модификации файла (аналогично st_atime). st_ctime Время последней модификации файла (аналогично st_atime и st_mtime). В структуре типа stat существуют три дополнительных поля, которые для MS DOS не имеют смысла. Возвращаемое значение: Функция fstat возвращает значение 0, если информация о ста- тусе файла получена. Возвращаемое значение -1 свидетельствует об ошибке; в этом случае errno устанавливается в EBADF, определяя тем самым неверный файловый handle. См.также access, chmode, filelength, stat. Замечание! Если заданный handle ссылается на устройство, поля размера и времени в структуре stat не имеют смысла. Пример. #include <fcntl.h> #include <sys\types.h> #include <sys\stat.h> #include <stdio.h> struct stat buf; int fh, result; fh=open("tmp/data", O_RDONLY); . . . result=fstat(fh,&buf); if (result==0) printf("file size is %ld\n",buf.st_size);