tmpfile(3) テンポラリファイルを作成する

書式

#include <stdio.h>


FILE *tmpfile(void);

説明

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

返り値

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

エラー

EACCES
ファイルのあるディレクトリにサーチのアクセス権 (search permission) がない。
EEXIST
ユニークなファイル名が作成できなかった。
EINTR
呼び出しがシグナルによって中断された。
EMFILE
1 つのプロセスで使用可能なファイルディスクリプタ数を超過した。
ENFILE
システム全体でオープン可能なファイル数を超過した。
ENOSPC
ディレクトリに新しいファイルを追加するための空き領域がない。
EROFS
読みだし専用ファイルシステムである。

準拠

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

注意

POSIX.1-2001 では、 ストリームをオープンできなかった場合、 stdout にエラーメッセージが書き出される、と規定されている。

規格では tmpfile() が使うディレクトリは指定されていない。 glibc では <stdio.h> で定義されている P_tmpdir をパスの先頭に使おうとする。 これが失敗した場合は、ディレクトリ /tmp を使う。

この文書について

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