tmpfile_s
一時ファイルを作成します。 CRT のtmpfile
セキュリティ機能に関する説明に従って、セキュリティが強化されたバージョンです。
構文
errno_t tmpfile_s(
FILE** pFilePtr
);
パラメーター
pFilePtr
ストリームに生成されたポインターのアドレスを格納するポインターのアドレスです。
戻り値
正常終了した場合は 0 を返します。失敗した場合はエラー コードを返します。
エラー条件
pFilePtr |
戻り値 | pFilePtr の内容 |
---|---|---|
NULL |
EINVAL |
変更されない |
上記のパラメーター検証エラーが発生した場合は、「パラメーターの検証」で 説明されているように、無効なパラメーター ハンドラーが呼び出されます。 実行を続行できる場合は 、にEINVAL
設定され、errno
戻り値は EINVAL
.
解説
tmpfile_s
関数は一時ファイルを作成し、pFilePtr
引数にそのストリームへのポインターを与えます。 一時ファイルはルート ディレクトリに作成されます。 ルート以外のディレクトリに一時ファイルを作成するには、tmpnam_s
tempnam
fopen
ファイルを開くことができない場合は、tmpfile_s
パラメーターにpFilePtr
書き込みますNULL
。 この一時ファイルは、ファイルが閉じられるとき、プログラムが正常に終了したとき、または呼び出されたときに _rmtmp
、現在の作業ディレクトリが変更されないと仮定して自動的に削除されます。 一時ファイルは w+b (バイナリ読み書き両用) モードで開かれます。
エラーが発生する可能性があります TMP_MAX_S
(STDIO を参照してください。H) を使用した tmpfile_s
呼び出し
既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT のグローバル状態」を参照してください。
必要条件
ルーチンによって返される値 | 必須ヘッダー |
---|---|
tmpfile_s |
<stdio.h> |
互換性の詳細については、「 Compatibility」を参照してください。
例
Note
この例では、Windows を管理者権限で実行する必要がある場合があります。
// crt_tmpfile_s.c
// This program uses tmpfile_s to create a
// temporary file, then deletes this file with _rmtmp.
//
#include <stdio.h>
int main( void )
{
FILE *stream;
char tempstring[] = "String to be written";
int i;
errno_t err;
// Create temporary files.
for( i = 1; i <= 3; i++ )
{
err = tmpfile_s(&stream);
if( err )
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() );
}
Temporary file 1 was created
Temporary file 2 was created
Temporary file 3 was created
3 temporary files deleted
関連項目
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示