Scroll to navigation

TMPFILE(3) Руководство программиста Linux TMPFILE(3)

ИМЯ

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

СИНТАКСИС

#include <stdio.h>
FILE *tmpfile(void);

ОПИСАНИЕ

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

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

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

ОШИБКИ

Запрещен поиск для директории, содержащейся в пути файла.
Невозможно сгенерировать уникальное имя файла.
Вызов был прерван каким-либо сигналом. Смотрите signal(7).
Было достигнуто ограничение по количеству открытых файловых дескрипторов на процесс.
Достигнуто максимальное количество открытых файлов в системе.
В директории не достаточно места, чтобы создать новое имя файла.
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.

СМ. ТАКЖЕ

exit(3), mkstemp(3), mktemp(3), tempnam(3), tmpnam(3)

ЗАМЕЧАНИЯ

Эта страница является частью проекта Linux man-pages версии 5.10. Описание проекта, информацию об ошибках и последнюю версию этой страницы можно найти по адресу https://www.kernel.org/doc/man-pages/.

ПЕРЕВОД

Русский перевод этой страницы руководства был сделан Azamat Hackimov <azamat.hackimov@gmail.com>, Dmitry Bolkhovskikh <d20052005@yandex.ru>, Yuri Kozlov <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3 или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное письмо на man-pages-ru-talks@lists.sourceforge.net.

15 марта 2016 г.