TMPFILE(3)

名前
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/ に書かれている。