MKDTEMP(3)

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

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

char *mkdtemp(char *template);

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

mkdtemp():
    /* Начиная с glibc 2.19: */ _DEFAULT_SOURCE
    || /* glibc 2.19 и старше: */ _BSD_SOURCE
    || /* начиная с glibc 2.10: */ _POSIX_C_SOURCE >= 200809L

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

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

ОШИБКИ

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

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

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

АТРИБУТЫ
Описание терминов данного раздела смотрите в attributes(7).
Интерфейс | Атрибут | Значение
mkdtemp() | Безвредность в нитях | MT-Safe

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

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