共用方式為


tmpfile_s

建立暫存檔案。 這些是 x8x7sakw(v=vs.120).mdCRT 中的安全性功能中所述。

errno_t tmpfile_s(
   FILE** pFilePtr
);

參數

  • [out] pFilePtr
    儲存產生之指標的指標位址至資料流。

傳回值

如果成功,回傳零,如果失敗,則為錯誤碼。

錯誤狀況

pFilePtr

傳回值

pFilePtr的內容

NULL

EINVAL

沒變更

如果上述任參數驗證錯誤發生,則無效的參數會叫用處理常式,如 參數驗證中所述。 如果允許繼續執行,會將errno 設為 EINVAL,並傳回值是EINVAL。

備註

tmpfile_s 函式會建立暫存檔案並將指標對該資料流的 pFilePtr 引數。 暫存檔案在根目錄中建立。 除了之外,要在該目錄中建立暫存檔案,請使用 fopen搭配使用 tmpnam_stempnam

如果無法開啟檔案,則 tmpfile_s 會寫入NULL給pFilePtr 參數 。 這個暫存檔自動刪除時,只有在檔案關閉,也就是說,當程式通常時結束,或者,呼叫 _rmtmp 時,會假設,在目前的工作目錄不會變更。 暫存檔案在 w+b (二進位) 讀取/寫入模式下開啟。

如果您試圖以tmpfile_s.嘗試比TMP_MAX_S(請參閱 STDIO.H)更多的呼叫,會發生錯誤。

需求

常式

必要的標頭

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。如需詳細資訊,請參閱平台叫用範例

請參閱

參考

資料流 I/O

_rmtmp

_tempnam、_wtempnam、tmpnam、_wtmpnam