tmpfile
一時ファイルを作成します。 この関数は、より安全なバージョンが空いたらできません。; tmpfile_sを参照してください。
FILE *tmpfile( void );
戻り値
成功すると、tmpfile はストリーム ポインターを返します。 それ以外の場合は NULL のポインターを返します。
解説
tmpfile 関数は一時ファイルを作成し、そのストリームへのポインターを返します。 一時ファイルは、ルート ディレクトリに作成されます。 ルート以外のディレクトリに一時ファイルを作成するには、tmpnam または tempnam を fopen と共に使用します。
ファイルを開くことができない場合 tmpfile は NULL のポインターを返します。 この一時ファイルは、ファイルが閉じられたとき、プログラムが正常に終了したとき、または _rmtmp が呼び出されたときに、自動的に削除されます。これは、現在の作業ディレクトリが変更されていないことを前提とします。 一時ファイルは w+b (バイナリ読み書き両用) モードで開かれます。
エラーが TMP_MAX よりも STDIO.H を (インクルード) tmpfile"を参照してください。
必要条件
ルーチン |
必須ヘッダー |
---|---|
tmpfile |
<stdio.h> |
互換性の詳細については、「C ランタイム ライブラリ」の「互換性」を参照してください。
使用例
注意
この例を Windows Vista で実行するには管理特権が必要です。
// crt_tmpfile.c
// compile with: /W3
// This program uses tmpfile to create a
// temporary file, then deletes this file with _rmtmp.
#include <stdio.h>
int main( void )
{
FILE *stream;
int i;
// Create temporary files.
for( i = 1; i <= 3; i++ )
{
if( (stream = tmpfile()) == NULL ) // C4996
// Note: tmpfile is deprecated; consider using tmpfile_s instead
perror( "Could not open new temporary file\n" );
else
printf( "Temporary file %d was created\n", i );
}
// Remove temporary files.
printf( "%d temporary files deleted\n", _rmtmp() );
}
同等の .NET Framework 関数
使用できません。標準 C 関数を呼び出すには、PInvoke を使用します。詳細については、「プラットフォーム呼び出しの例」を参照してください。