tmpnam_s
Nach oben zu stdio.h - Index
Header-Datei
stdio.h
Kategorie
Routinen für die Eingabe/Ausgabe
Prototyp
errno_t tmpnam_s(char *s, rsize_t maxsize);
Beschreibung
Ersetzt tmpnam und fügt Sicherheitserweiterungen hinzu.
tmpnam_s erstellt einen eindeutigen Dateinamen, der sicher als Name einer temporären Datei verwendet werden kann. tmpnam_s generiert für bis zu TMP_MAX_S Aufrufe einen jeweils anderen Dateinamen. TMP_MAX_S ist in stdio.h mit dem Wert 65.535 definiert. Die Länge der erzeugten Strings ist kleiner als oder gleich L_tmpnam_s #define.
Der Parameter s darf kein Null-Zeiger sein; es ist erforderlich, dass s auf ein Array mit einer Mindestgröße von maxsize zeigt. maxsize muss kleiner als oder gleich RSIZE_MAX sein.
Der Name, den tmpnam_s generiert, ist kürzer als maxsize und wird in dem Array gespeichert, auf das s zeigt.
Weil mit tmpnam_s temporäre Namen für das Erstellen von temporären Dateien erzeugt werden, kann es in seltenen Fällen vorkommen, dass zwei identische Namen erzeugt werden. Wenn tmpnam_s nur zum Erstellen von temporären Dateien eingesetzt werden soll, sollten Sie stattdessen tmpfile_s verwenden.
Rückgabewert
tmpnam_s schreibt den erzeugten String in das Array, auf das s zeigt, und gibt Null zurück. Andernfalls schreibt die Funktion ein Null-Zeichen in s[0] und gibt einen Nicht-Nullwert zurück.
Beispiel
#include <stdio.h> int main(void) { char name[13]; if(std::tmpnam_s(name, 13)){ printf("Unable to create temporary name"); } else{ printf("Temporary name: %s\n", name); } return 0; }
Portabilität
POSIX | Win32 | ANSI C | ANSI C++ | |
---|---|---|---|---|
tmpnam_s |
+ |
+ |
+ |
+ |