Создание каталога

#include <unistd.h>

#include <sys/stat.h>

#include <sys/types.h>

int mkdir(const char *path, mode_t mode);

Данный системный вызов – это создание каталога, первым параметром в нем задается относительный путь, вторым – режим доступа.

Успешный вызов mkdir() создает каталог path (параметр может содержать абсолютный или относительный путь) с битами разрешения mode (как они модифицированы текущим хначением umask) и возвращает значение 0. В случае ошибки mkdir() возвращает -1:

EACCESS – у текущего процесса нет прав на запись в родительский каталог, или один или несколько компонентов в пути path недоступны для поиска.

EEXIST – путь path уже существует (и не обязательно является каталогом).

EFAULT – параметр path содержит недопустимый указатель.

ELOOP – во время разрешения пути path ядру встретилось слишком много символических ссылок.

ENAMETOOLONG – слишком длинное значение path.

ENOENT – компонент пути path не существует или является символической ссылкой указывающей на несуществующий объект.

ENOMEM – недостаточно памяти ядра для выполнения данного запроса.

ENOSPC – на устройстве, где находится path, недостаточно пространства либо превышена дисковая квота для пользователя.

ENOTDIR – один или несколько компонентов пути path не являются каталогами.

EPERM – файловая система, которой принадлежит path, не поддерживает создание каталогов.

EROFS – файловая система, которой принадлежит path, подмонтирована с доступом только на чтение.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: