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