tmpfile_s
Bir geçici dosya oluşturur.Bir sürümü olan tmpfile açıklandığı gibi güvenlik geliştirmeleri ile CRT'deki 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.