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