Функция 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);

Данный текст является ознакомительным фрагментом.