Книга: Операционная система UNIX
Функция creat(2)
Функция creat(2)
Функция служит для создания обычного файла или изменения его атрибутов и имеет следующий вид:
#include <fcntl.h>
int creat(const char *path, mode_t mode);
Как и в случае open(2), аргумент path определяет имя файла в файловой системе, a mode
— устанавливаемые права доступа к файлу. При этом выполняется ряд правил:
? Если идентификатор группы (GID) создаваемого файла не совпадает с эффективным идентификатором группы (EGID) или идентификатором одной из дополнительных групп процесса, бит SGID аргумента mode
очищается (если он был установлен).
? Очищаются все биты, установленные в маске процесса
? Очищается флаг Sticky bit.
Права доступа к файлу обсуждались в главе 1. Более детальная информация приведена в разделе "Права доступа" этой главы.
Если файл уже существует, его длина сокращается до 0, а права доступа и владельцы сохраняются прежними. Вызов creat(2) эквивалентен следующему вызову функции open(2):
open(path, O_WRONLY | O_CREAT | O_TRUNC, mode);
- Управление функциями узла
- Метод CreateObject
- Функция close(2)
- Функция read(2) и readv(2)
- Что делает функция CreateProcess
- Листинг 4.3. Исправленная функция main() из файла thread-create.c
- 15.9. Функция door server_create
- 15.3. Функция door_create
- Функция pthread_create
- Создание и открытие файла
- Функции dup(2) и dup2(2)
- Реализация семафоров в Linux