名前


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 を使う。

関連項目


exit(3), mkstemp(3), mktemp(3), tempnam(3), tmpnam(3)

openSUSE Logo

コンテンツ