Aracılığıyla paylaş


tmpfile_s

Geçici bir dosya oluşturur. CRT'deki Güvenlik özellikleri bölümünde açıklandığı gibi güvenlik geliştirmeleri içeren bir sürümüdürtmpfile.

Sözdizimi

errno_t tmpfile_s(
   FILE** pFilePtr
);

Parametreler

pFilePtr
Oluşturulan işaretçinin adresini bir akışa depolamak için işaretçinin adresi.

Dönüş değeri

Başarılı olursa 0 değerini, hata durumunda bir hata kodu döndürür.

Hata koşulları

pFilePtr Dönüş değeri İçeriği pFilePtr
NULL EINVAL değiştirilmedi

Yukarıdaki parametre doğrulama hatası oluşursa, parametre doğrulama bölümünde açıklandığı gibi geçersiz parametre işleyicisi çağrılır. Yürütmenin devam etmesi için izin verilirse, errno olarak ayarlanır EINVALve dönüş değeri olur EINVAL.

Açıklamalar

tmpfile_s işlevi geçici bir dosya oluşturur ve bağımsız değişkende pFilePtr bu akışa bir işaretçi yerleştirir. Geçici dosya kök dizinde oluşturulur. Kök dışında bir dizinde geçici bir dosya oluşturmak için veya tempnam ile kullanın.tmpnam_sfopen

Dosya açılamıyorsa parametresine tmpfile_spFilePtr yazarNULL. Bu geçici dosya, dosya kapatıldığında, program normal şekilde sonlandırıldığında veya geçerli çalışma dizininin değişmediği varsayılarak çağrıldığında _rmtmp otomatik olarak silinir. Geçici dosya w+b (ikili okuma/yazma) modunda açılır.

Daha fazlasını TMP_MAX_S denerseniz hata oluşabilir (bkz. STDIO. H) ile yapılan çağrılar tmpfile_s.

Varsayılan olarak, bu işlevin genel durumunun kapsamı uygulama olarak belirlenmiştir. Bu davranışı değiştirmek için bkz. CRT'de Genel durum.

Gereksinimler

Yordam Gerekli başlık
tmpfile_s <stdio.h>

Daha fazla uyumluluk bilgisi için bkz . Uyumluluk.

Örnek

Dekont

Bu örnek, Windows üzerinde çalışmak için yönetici ayrıcalıkları gerektirebilir.

// 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

Ayrıca bkz.

Akış G/Ç
_rmtmp
_tempnam, _wtempnam, tmpnam, _wtmpnam