Создать директорию
#include <sys/types.h>#include <sys/stat.h>int mkdir( const char *path,mode_t mode );
<sys/stat.h>
. Для получения дополнительной информации см. Права доступа.libc
Функция mkdir() создаёт новый подкаталог с именем, заданным параметром path. Путь, заданный параметром path может быть относительным к текущему рабочему каталогу или абсолютным путём.
Не все файловые системы поддерживают создание каталогов. Например, /dev/shmem , которая на самом деле не является файловой системой, но выглядит как таковая. |
Идентификатор владельца каталога устанавливается равным эффективному идентификатору пользователя процесса. Идентификатор группы каталога устанавливается равным идентификатору группы родительского каталога (если установлен бит идентификатора родительской группы) или эффективному идентификатору группы процесса.
Вновь созданный каталог пуст.
Следующие биты, в дополнение к битам прав доступа к файлам, ведут себя следующим образом:
Функция mkdir() помечает поля st_atime, st_ctime и st_mtime каталога для обновления. Также обновляются поля st_ctime и st_mtime родительского каталога.
LINK_MAX
. PATH_MAX
, или компонент имени пути длиннее, чем NAME_MAX
. Создание нового каталога с именем /src
в каталоге /hd
:
#include <sys/types.h>#include <sys/stat.h>#include <stdlib.h>int main( void ){(void)mkdir( "/hd/src", S_IRWXU | S_IRGRP | S_IXGRP | S_IROTH | S_IXOTH );return (EXIT_SUCCESS);}
POSIX 1003.1
struct stat, chdir(), chmod(), errno, fchdir(), getcwd(), mknod(), rmdir(), stat(), umask()
Предыдущий раздел: Описание API системной библиотеки