Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
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_s fopen
Dosya açılamıyorsa parametresine tmpfile_s pFilePtr 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
Not
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