MKDTEMP(3)

ИМЯ
mkdtemp - создание временного каталога с уникальным именем

ОБЗОР
#include <stdlib.h>

char *mkdtemp(char *template);

Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

mkdtemp():
    _BSD_SOURCE
    || /* начиная с glibc 2.10: */
        (_POSIX_C_SOURCE >= 200809L || _XOPEN_SOURCE >= 700)

ОПИСАНИЕ
Функция mkdtemp() создаёт временный каталог с уникальным именем на основе template. Последние шесть символов template должны быть равны XXXXXX; они будут заменены на строку, которая и сделает имя каталога уникальным. После этого будет создан каталог с правами 0700. Так как template меняется, он не должен быть строковой константой, а должен быть объявлен как массив символов.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
В случае успеха mkdtemp() возвращает указатель на изменённую строку шаблона (template), в случае неудачи — NULL, при этом errno устанавливается в соответствующее значение.

ОШИБКИ

EINVAL
    Последние шесть символов template не равны XXXXXX. template не изменён.

См. также в mkdir(2) другие возможные значения errno.

ВЕРСИИ
Доступна в glibc с версии 2.1.91.

СООТВЕТСТВИЕ СТАНДАРТАМ
POSIX.1-2008. Данная функция есть в реализациях BSD.

СМОТРИТЕ ТАКЖЕ
mkdir(2), mkstemp(3), mktemp(3), tempnam(3), tmpfile(3), tmpnam(3)