Aracılığıyla paylaş


tmpfile_s

Bir geçici dosya oluşturur.Bir sürümü olan tmpfile açıklandığı gibi güvenlik geliştirmeleri ile crt güvenlik özellikleri.

errno_t tmpfile_s(
   FILE** pFilePtr
);

Parametreler

  • [Çıkış]pFilePtr
    Bir akış için oluşturulan işaretçisinin adresini saklamak için bir işaretçi adresi.

Dönüş Değeri

Başarılı olursa 0 döndürür hatası durumunda bir hata kodu.

Hata koşulları

pFilePtr

Dönüş Değeri

İçeriğipFilePtr

NULL

EINVAL

değiştirilmemiş

Yukarıdaki parametre doğrulama hatası oluşursa, geçersiz parametre işleyicisi, açıklandığı şekilde çağrılır Parametre doğrulama.Yürütülmesine devam etmek için izin verilip verilmediğini errno ayarlamak EINVAL ve dönüş değeri EINVAL.

Notlar

tmpfile_s İşlevi bir geçici dosya oluşturur ve o akış için bir işaretçi koyar pFilePtr bağımsız değişkeni.Geçici dosya kök dizininde oluşturulur.Kök dışında bir dizinde geçici bir dosya oluşturmak için tmpnam_s veya tempnam birlikte fopen.

Dosya açılamazsa, tmpfile_s Yazar NULL için pFilePtr parametresi.Program normal olarak ya da ne zaman sonlandırıldığında dosya kapatıldığında bu geçici dosyayı otomatik olarak silinmesini _rmtmp varsayarak geçerli çalışma dizini değişmez, denir.Geçici dosya açılır w+b (ikili okuma/yazma) modu.

Hata, çalışırsanız oluşabilir birden TMP_MAX_S (STDIO bakın.h) çağrıları iletmpfile_s.

Gereksinimler

Yordamı

Gerekli başlık

tmpfile_s

<stdio.h>

Ek uyumluluk bilgileri için bkz: Uyumluluk giriş.

Örnek

[!NOT]

Bu örneğin Windows Vista'da çalışması yönetimsel ayrıcalıklar gerektirir.

// 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 Eşdeğeri

Yoktur. Standart c işlevi çağırmak için kullanmak PInvoke. Daha fazla bilgi için bkz: Platform Çağırma örnekleri.

Ayrıca bkz.

Başvuru

G/ç

_rmtmp

_tempnam, _wtempnam, tmpnam, _wtmpnam