名前

tmpfile - テンポラリファイルを作成する

書式

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

説明

tmpfile() 関数はユニークなテンポラリファイルを バイナリリードライトモード (w+b) でオープンする。 このファイルはクローズ時またはプログラムの終了時に自動的に削除される。

返り値

tmpfile() 関数はファイルポインターを返すか、 ユニークなファイルが作れなかったかオープンできなかった場合は NULL を返す。 後者の場合、エラーを表す errno を設定する。

エラー

EACCES
ファイルのあるディレクトリにサーチのアクセス権 (search permission) がない。
EEXIST
ユニークなファイル名が作成できなかった。
EINTR
呼び出しがシグナルにより割り込まれた。 signal(7) 参照。
EMFILE
The per-process limit on the number of open file descriptors has been reached.
ENFILE
オープンされているファイルの総数がシステム全体の制限に達している。
ENOSPC
ディレクトリに新しいファイルを追加するための空き領域がない。
EROFS
読みだし専用ファイルシステムである。

属性

この節で使用されている用語の説明については、 attributes(7) を参照。
インターフェース 属性
tmpfile() Thread safety MT-Safe

準拠

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

注意

POSIX.1-2001 では、 ストリームをオープンできなかった場合、 stdout にエラーメッセージが書き出される、と規定されている。
規格では tmpfile() が使うディレクトリは指定されていない。 glibc では <stdio.h> で定義されている P_tmpdir をパスの先頭に使おうとする。 これが失敗した場合は、ディレクトリ /tmp を使う。

関連項目

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

この文書について

この man ページは Linux man-pages プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は https://www.kernel.org/doc/man-pages/ に書かれている。

Recommended readings

Pages related to tmpfile you should read also: