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

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

Функция SUM

Из книги Обработка баз данных на Visual Basic®.NET автора Мак-Манус Джеффри П

Функция SUM Ваши возможности в подведении итогов не ограничены простым подсчетом записей. Используя функцию SUM, можно генерировать итоговые результаты для всех возвращаемых записей по любым числовым полям. Например, для создания запроса, который генерирует итоги по


Функция uni()

Из книги Fiction Book Designer Краткое руководство автора Автор неизвестен

Функция uni() Поиск/замена символа по его юникодному номеру также может быть сделана при помощи функции uni().Пример функции uni(): Boouni(107,32)Designer найдет слово Book


Функция uni()

Из книги Fiction Book Designer 3.2. Краткое руководство автора Izekbis

Функция uni() Поиск/замена символа по его юникодному номеру также может быть сделана при помощи функции uni().Пример функции uni(): Boouni(107,32)Designer найдет слово Book


6.5. Функция msgctl

Из книги UNIX: взаимодействие процессов автора Стивенс Уильям Ричард

6.5. Функция msgctl Функция msgctl позволяет управлять очередями сообщений:#include <sys/msg.h>int msgctl(int msqid, int cmd, struct msqid_ds *buff);/* Возвращает 0 в случае успешного завершения, –1 в случае ошибки */Команд (аргумент cmd) может быть три:? IPC_RMID — удаление очереди с идентификатором msqidиз системы.


Функция pthread_rwlock_init

Из книги Технология XSLT автора Валиков Алексей Николаевич

Функция pthread_rwlock_init Первая функция, pthread_rwlock_init, динамически инициализирует блокировку чтения-записи. Ее текст приведен в листинге 8.2.7-8 Присваивание атрибутов с помощью этой функции не поддерживается, поэтому мы проверяем, чтобы указатель attr был нулевым.9-19 Мы


Функция sem_open

Из книги PGP: Кодирование и шифрование информации с открытым ключом. автора Левин Максим

Функция sem_open В листинге 10.22 приведен текст функции sem_open, которая создает новый семафор или открывает существующий.Листинг 10.22. Функция sem_open//my_pxsem_fifo/sem_open.с1  #include "unpipc.h"2  #include "semaphore.h"3  #include <stdarg.h> /* для произвольного списка аргументов */4  mysem_t *5  mysem_open(const char *pathname, int


Функция sem_close

Из книги Fiction Book Designer 3.2. Руководство по созданию книг автора

Функция sem_close Текст функции sem_close приведен в листинге 10.23.11-15 Мы закрываем оба дескриптора и освобождаем память, выделенную под тип sem_t.Листинг 10.23. Функция sem_close//my_pxsem_fifo/sem_close.с1  #include "unpipc.h"2  #include "semaphore.h"3  int4  mysem_close(mysem_t *sem)5  {6   if (sem->sem_magic != SEM_MAGIC) {7    errno =


Функция not

Из книги Linux программирование в примерах автора Роббинс Арнольд


Функция sum

Из книги Введение в криптографию автора Циммерманн Филипп


Хэш-функция.

Из книги автора

Хэш-функция. Еще одно важное преимущество использования PGP состоит в том, что PGP применяет так называемую «хэш-функцию», которая действует таким образом, что в том случае какого-либо изменения информации, пусть даже на один бит, результат «хэш-функции» будет совершенно


Функция uni()

Из книги автора

Функция uni() Поиск/замена символа по его юникодному номеру также может быть сделана при помощи функции uni().Пример функции uni(): Boouni(107,32)Designer найдет слово Book


4.6.2. Создание файлов с помощью creat()

Из книги автора

4.6.2. Создание файлов с помощью creat() Системный вызов creat()[49] создает новые файлы. Он объявлен следующим образом:#include <sys/types.h> /* POSIX */#include <sys/stat.h>#include <fcntl.h>int creat(const char *pathname, mode_t mode);Аргумент mode представляет права доступа к новому файлу (как обсуждалось в предыдущем


Хэш-функция

Из книги автора

Хэш-функция Однако описанная выше схема имеет ряд существенных недостатков. Она крайне медлительна и производит слишком большой объём данных — по меньшей мере вдвое больше объёма исходной информации. Улучшением такой схемы становится введение в процесс преобразования