tmpfile_s
Erstellt eine temporäre Datei. Es ist eine Version von tmpfile mit werden, wie in Sicherheitsfunktionen in der CRT beschrieben.
errno_t tmpfile_s(
FILE** pFilePtr
);
Parameter
- [out] pFilePtr
Die Adresse eines Zeigers, um die Adresse des generierten Zeigers in einen Stream zu speichern.
Rückgabewert
Gibt bei Erfolg 0 (null) zurück und einen Fehlercode, wenn ein Fehler auftritt.
Fehlerbedingungen
pFilePtr |
Rückgabewert |
Contents of pFilePtr |
---|---|---|
NULL |
EINVAL |
nicht geändert |
Wenn der obige Parametervalidierungsfehler auftritt, wird der ungültige Parameterhandler aufgerufen, wie in Parametervalidierung beschrieben. Wenn die Ausführung zulässig ist, um fortzufahren, wird errno auf EINVAL festgelegt und der Rückgabewert ist EINVAL.
Hinweise
Die tmpfile_s-Funktion erstellt eine temporäre Datei und fügt einen Zeiger auf diesem Stream in das pFilePtr ein Argument. Die temporäre Datei wird im Stammverzeichnis erstellt. Um keine temporäre Datei in einem Verzeichnis als dem Stammverzeichnis zu erstellen, verwenden Sie tmpnam_s oder tempnam in Verbindung mit fopen.
Wenn die Datei nicht geöffnet werden kann, wird tmpfile_s von NULL in pFilePtr-Parameter. Diese temporäre Datei wird automatisch gelöscht, wenn die Datei wird geschlossen, wenn das Programm beendet wird normalerweise oder _rmtmp aufgerufen und wird, dass das aktuelle Arbeitsverzeichnis nicht ändert. Die temporäre Datei ist im Modus w+b (unärer Lese-/Schreibzugriff) geöffnet.
Fehler kann, wenn Sie versuchen, mehr als TMP_MAX_S vorkommen (siehe STDIO.H) Aufrufe mit tmpfile_s.
Anforderungen
Routine |
Erforderlicher Header |
---|---|
tmpfile_s |
<stdio.h> |
Zusätzliche Informationen zur Kompatibilität 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. Mit PInvoke rufen Sie die Standard-C-Funktion auf. Weitere Informationen finden Sie unter Beispiele für Plattformaufrufe.