Назад |
Для создания обычных файлов используется системный вызов creat( ):
#include <sys/types.h> #include <sys/stat.h> #include <fcnt1.h> int creat (char *path, mode_t mode);
Аргументы функции: path - имя файла, mode - задает атрибуты создаваемого файла (см. описание системного вызова mkdir( ) в предыдущем разделе).
Специальные файлы, соответствующие устройствам, обычно располагаются в директории "/dev". Создать их можно системным вызовом mknod( ):
#include <sys/types.h> #include <sys/stat.h> int mknod (char *path, mode_t, dev_t dev);
Аргумент mode задает права доступа к файлу. deu представляет собой структуру, задающую тип и номер устройства, соответствующего специальному файлу.
Когда файл более не нужен, его можно удалить с помощью функции unlink ( ):
#include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> int unlink (char *path);
где path - имя файла. Последний должен быть закрыт.
Чтобы получить информацию о наборе данных, в UNIX предусмотрена функция stat( ):
#include <sys/types.h> #include <sys/stat.h> int stat (char *path, struct stat *fstat);
Она по имени файла path находит соответствующую информацию и помешает ее в структуру, на которую указывает fstat. Среди полей структуры stat особый интерес представляют следующие:
st_mode | - тип файла; это комбинация флагов:
|
||||||||
st_uid | - идентификатор владельца файла; | ||||||||
st_gid | - идентификатор группы, которой принадлежит владелец файла; | ||||||||
st_size | - размер файла; | ||||||||
st_atime | - время последнего использования; | ||||||||
st_mtime | - время последней модификации. |