tmpfile() — 一時ファイルの作成

フォーマット

#include <stdio.h>
FILE *tmpfile(void);

言語レベル

ANSI

スレッド・セーフ

はい

説明

tmpfile() 関数は一時バイナリー・ファイルを作成します。このファイルは、クローズしたとき、 またはプログラムが終了したとき自動的に削除されます。

tmpfile() 関数は、wb+ モードで一時ファイルをオープンします。

戻り値

正常に行われると、tmpfile() 関数はストリーム・ポインターを戻します。ファイルを オープンできない場合は、NULL ポインターを戻します。正常終了時 (exit()) に、 これらの一時ファイルは除去されます。

データ管理機能システムでは、tmpfile() 関数は QTEMP/QACXxxxxxx という名前の新規ファイルを作成します。コンパイル・コマンドで SYSIFCOPT(*IFSIO) オプションを指定すると、tmpfile() 関数は /tmp/QACXaaaaaa という名前の新規ファイルを作成します。tmpfile() 関数からのファイル名で作成されるファイルは、 ジョブの終わりに廃棄されます。remove() 関数を使用して、ファイルを除去することができます。

この例では一時ファイルを作成し、正常に作成できたら、そのファイルに tmpstring を書き込みます。このファイルはプログラムの最後に除去されます。
#include <stdio.h>
 
FILE *stream;
char tmpstring[ ] = "This is the string to be temporarily written";
 
int main(void)
{
   if ((stream = tmpfile( )) == NULL)
      perror("Cannot make a temporary file");
   else
      fprintf(stream, "%s", tmpstring);
}