名前
tmpfile - テンポラリファイルを作成する
書式
#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.
注意
ストリームをオープンできなかった場合、 stdout にエラーメッセージが書き出される。
規格では tmpfile() が使うディレクトリは指定されていない。 glibc では <stdio.h> で定義されている P_tmpdir をパスの先頭に使おうとする。 これが失敗した場合は、ディレクトリ /tmp を使う。