tmpfile
Erstellt eine temporäre Datei. Diese Funktion ist veraltet, da eine sicherere Version verfügbar ist. siehe tmpfile_s
.
Syntax
FILE *tmpfile( void );
Rückgabewert
Im Erfolgsfall gibt tmpfile
einen Streamzeiger zurück. Andernfalls wird ein NULL
-Zeiger zurückgegeben.
Hinweise
Die Funktion tmpfile
erstellt eine temporäre Datei und gibt diesem Stream einen Zeiger zurück. Die temporäre Datei wird im Stammverzeichnis erstellt. Um eine temporäre Datei in einem anderen Verzeichnis als dem Stammverzeichnis zu erstellen, verwenden tmpnam
Oder tempnam
mit fopen
.
Wenn die Datei nicht geöffnet werden kann, tmpfile
wird ein NULL
Zeiger zurückgegeben. Diese temporäre Datei wird automatisch gelöscht, wenn die Datei geschlossen wird, wenn das Programm normal beendet wird oder wenn _rmtmp
sie aufgerufen wird, vorausgesetzt, das aktuelle Arbeitsverzeichnis ändert sich nicht. Die temporäre Datei wird im W+b-Modus (binärer Lese-/Schreibzugriff) geöffnet.
Ein Fehler kann auftreten, wenn Sie mehr als TMP_MAX (siehe STDIO.H) Aufrufe mit tmpfile
versuchen.
Anforderungen
Routine | Erforderlicher Header |
---|---|
tmpfile |
<stdio.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Beispiel
Hinweis
Für dieses Beispiel benötigen Sie Administratorrechte, um es unter Windows Vista auszuführen.
// crt_tmpfile.c
// compile with: /W3
// This program uses tmpfile to create a
// temporary file, then deletes this file with _rmtmp.
#include <stdio.h>
int main( void )
{
FILE *stream;
int i;
// Create temporary files.
for( i = 1; i <= 3; i++ )
{
if( (stream = tmpfile()) == NULL ) // C4996
// Note: tmpfile is deprecated; consider using tmpfile_s instead
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