共用方式為


tmpfile_s

建立暫存檔。 它是版本 tmpfile 中所述的安全性增強功能與安全性功能,則在 CRT 中

errno_t tmpfile_s(
   FILE** pFilePtr
);

參數

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

傳回值

傳回 0,如果成功,失敗的錯誤代碼。

錯誤狀況

pFilePtr

傳回值

內容pFilePtr

NULL

EINVAL

未變更

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

備註

tmpfile_s函式會建立暫存檔案,並將指標放在該資料流pFilePtr引數。 根目錄中建立暫存檔。 若要在根目錄以外的目錄中建立暫存檔,請使用 tmpnam_stempnamfopen

如果無法開啟檔案, 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。 如需詳細資訊,請參閱平台叫用範例

請參閱

參考

資料流 I/O

_rmtmp

_tempnam、 _wtempnam、 tmpnam、 _wtmpnam