Получить информацию о файле по его дескриптору
#include <sys/types.h>#include <sys/stat.h>int fstat( int filedes,struct stat *buf );int fstat64( int filedes,struct stat64 *buf );
libc
Функции fstat() и fstat64() получают информацию о файле, определяемом filedes, и размещают ее в структуре, на которую указывает buf.
Заголовочный файл <sys/stat.h>
содержит определение struct stat, а также следующие макросы:
Аргументы макросов:
Макрос возвращает ненулевое значение при положительном исходе, нулевое - при отрицательном.
Права доступпа определяются комбинацией битов поля st_mode структуры struct stat. Эти биты определены в заголовочном файле <sys/stat.h>
. Для дополнительной информации смотрите struct stat.
Поле st_mode также кодирует следующие биты:
#include <stdio.h>#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h>#include <unistd.h>#include <stdlib.h>int main( void ){int filedes;int rc;struct stat buf;filedes = open( "file", O_RDONLY );if ( filedes != -1 ){rc = fstat( filedes, &buf );if ( rc != -1 ){printf( "File size = %d\n", buf.st_size );}close( filedes );return (EXIT_SUCCESS);}return (EXIT_FAILURE);}
fstat() — POSIX 1003.1; fstat64() — Поддержка больших файлов
struct stat, creat(), dup(), dup2(), errno, fcntl(), lstat(), open(), pipe(), sopen(), stat()
Предыдущий раздел: Описание API системной библиотеки