tmpfile_s
Erstellt eine temporäre Datei.Es handelt sich um eine Version von tmpfile mit unter Security Enhancements, wie in Sicherheitsfeatures im CRTbeschrieben.
errno_t tmpfile_s(
FILE** pFilePtr
);
Parameter
- [out] pFilePtr
Die Adresse eines Zeigers, um die Adresse des generierten Zeigers auf einem Stream zu speichern.
Rückgabewert
Gibt 0 zurück, wenn erfolgreich, ein Fehlercode auf Fehler.
Fehlerbedingungen
pFilePtr |
Rückgabewert |
Inhalt pFilePtr |
---|---|---|
NULL |
EINVAL |
nicht geändert |
Wenn der oben genannten Parametervalidierungs Fehler auftritt, wird der Ereignishandler aufgerufen, z. B. ungültige Parameter in Parametervalidierungbeschrieben.Wenn die Ausführung zulässig ist, um fortzufahren, wird errno zu EINVAL festgelegt, und der Rückgabewert ist EINVAL.
Hinweise
Die tmpfile_s-Funktion erstellt eine temporäre Datei und fügt einen Zeiger auf diesen Stream in das pFilePtr-Argument ein.Die temporäre Datei befindet sich im Stammverzeichnis erstellt.Um eine temporäre Datei in einem Verzeichnis außer den Stamm zu erstellen, verwenden Sie tmpnam_s oder tempnam in Verbindung mit fopen.
Wenn die Datei nicht geöffnet werden kann, schreibt tmpfile_sNULL zum pFilePtr-Parameter.Diese temporären Datei wird automatisch gelöscht, wenn die Datei geschlossen wird, wenn das Programm beendet wird normalerweise aufgerufen wird oder wenn _rmtmp und davon ausgeht, dass das aktuelle Arbeitsverzeichnis nicht ändert.Die temporäre Datei befindet sich im Modus w+b (binäres Lese-/Schreibzugriff) geöffnet.
Fehler kann, wenn Sie versuchen, mehr als TMP_MAX_S auftreten (siehe STDIO.H Aufrufe mit tmpfile_s.)
Anforderungen
Routine |
Erforderlicher Header |
---|---|
tmpfile_s |
<stdio.h> |
Um Kompatibilität zusätzlichen Informationen finden Sie unter Kompatibilität in der Einführung.
Beispiel
Hinweis |
---|
Dieses Beispiel erfordert Administratorrechte für die Ausführung unter Windows Vista. |
// 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-Entsprechung
Nicht zutreffend. Um die Standard-C-Funktion aufrufen, verwenden Sie PInvoke. Weitere Informationen finden Sie unter Plattformaufruf-Beispiele.