tmpfile_s
建立暫存檔。 它是版本 tmpfile 中所述的安全性增強功能與安全性功能,則在 CRT 中。
errno_t tmpfile_s(
FILE** pFilePtr
);
參數
- [out] pFilePtr
若要儲存的資料流產生的指標位址的指標位址。
傳回值
傳回 0,如果成功,失敗的錯誤代碼。
錯誤狀況
pFilePtr |
傳回值 |
內容pFilePtr |
---|---|---|
NULL |
EINVAL |
未變更 |
如果發生上述的參數驗證錯誤,無效的參數處理常式會叫用,如所述參數驗證。 如果要繼續,請允許執行errno設定為 [ EINVAL ,並傳回值是EINVAL。
備註
tmpfile_s函式會建立暫存檔案,並將指標放在該資料流pFilePtr引數。 根目錄中建立暫存檔。 若要在根目錄以外的目錄中建立暫存檔,請使用 tmpnam_s 或 tempnam 與 fopen。
如果無法開啟檔案, tmpfile_s會將NULL到pFilePtr參數。 這個暫存檔會自動刪除檔案關閉時,當程式結束,一般情況下,或當_rmtmp呼叫時,假設目前的工作目錄不會變更。 在開啟暫存檔案w+b (二進位讀取/寫入) 模式。
如果您嘗試使用,就會發生失敗超過TMP_MAX_S (請參閱 STDIO。H) 中呼叫tmpfile_s.
需求
常式 |
所需的標頭 |
---|---|
tmpfile_s |
<stdio.h> |
其他的相容性資訊,請參閱相容性在簡介中。
範例
注意事項 |
---|
您必須擁有系統管理員權限,才能在 Windows Vista 中執行本範例。 |
// 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() );
}
.NET Framework 對等用法
不適用。 若要呼叫標準的 c 函式,使用PInvoke。 如需詳細資訊,請參閱平台叫用範例。