tmpfile(3) создаёт временный файл

ОБЗОР

#include <stdio.h>


FILE *tmpfile(void);

ОПИСАНИЕ

Функция tmpfile() открывает уникальный временный файл в режиме чтения/записи (w+b). Файл будет автоматически удален, когда будет закрыт либо когда завершится программа.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

Функция tmpfile() возвращает дескриптор потока или NULL, если не может сгенерировать уникальный файл или уникальный файл не может быть открыт. В последнем случае устанавливается errno для индикации ошибки.

ОШИБКИ

EACCES
Запрещен поиск для директории, содержащейся в пути файла.
EEXIST
Невозможно сгенерировать уникальное имя файла.
EINTR
Вызов был прерван каким-либо сигналом. Смотрите signal(7).
EMFILE
Было достигнуто ограничение по количеству открытых файловых дескрипторов на процесс.
ENFILE
Достигнуто максимальное количество открытых файлов в системе.
ENOSPC
В директории не достаточно места, чтобы создать новое имя файла.
EROFS
Read-only filesystem.

АТРИБУТЫ

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

СООТВЕТСТВИЕ СТАНДАРТАМ

POSIX.1-2001, POSIX.1-2008, C89, C99, SVr4, 4.3BSD, SUSv2.

ЗАМЕЧАНИЯ

POSIX.1-2001 уточняет: сообщение с ошибкой может быть выведено в stdout, если поток не может быть открыт.

Стандартом не указывается, в какой директорию будет использовать tmpfile(). Glibc попытается использовать префикс пути P_tmpdir, указанный в <stdio.h>, если это закончится неудачей, то - /tmp.