Книга: Linux программирование в примерах

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 представляет права доступа к новому файлу (как обсуждалось в предыдущем разделе). Создается файл с именем pathname.с данными правами доступа, модифицированными с использованием umask. Он открыт (только) для чтения, а возвращаемое значение является дескриптором нового файла или -1, если была проблема. В последнем случае errno указывает ошибку. Если файл уже существует, он будет при открытии урезан.

Во всех остальных отношениях дескрипторы файлов, возвращаемые creat(), являются теми же самыми, которые возвращаются open(); они используются для записи и позиционирования и должны закрываться при помощи close():

int fd, count;
/* Проверка ошибок для краткости опущена */
fd = creat("/some/new/file", 0666);
count = write(fd, "some datan", 10);
(void)close(fd);

Оглавление книги


Генерация: 0.944. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз