table of contents
mktemp(3) | Library Functions Manual | mktemp(3) |
BEZEICHNUNG¶
mktemp - erzeugt einen eindeutigen temporären Dateinamen
BIBLIOTHEK¶
Standard-C-Bibliothek (libc, -lc)
ÜBERSICHT¶
#include <stdlib.h>
char *mktemp(char *Vorlage);
mktemp():
Seit Glibc 2.12:
(_XOPEN_SOURCE >= 500) && ! (_POSIX_C_SOURCE >= 200112L)
|| /* Glibc >= 2.19: */ _DEFAULT_SOURCE
|| /* Glibc <= 2.19: */ _SVID_SOURCE || _BSD_SOURCE
Vor Glibc 2.12:
_BSD_SOURCE || _SVID_SOURCE || _XOPEN_SOURCE >= 500
BESCHREIBUNG¶
Verwenden Sie diese Funktion niemals; lesen Sie FEHLER.
Die Funktion mktemp() erzeugt einen eindeutigen temporären Dateinamen. Dieser Name wird aus Vorlage erzeugt, dessen letzte sechs Buchstaben XXXXXX sein müssen. Sie werden durch eine Zeichenfolge ersetzt, die diesen Dateinamen eindeutig macht. Weil Vorlage verändert wird, darf es keine keine konstante Zeichenkette (string constant) sein, sondern sollte als Zeichenfeld (character array) deklariert sein.
RÜCKGABEWERT¶
Die Funktion mktemp() gibt immer Vorlage zurück. Bei erfolgreicher Ausführung wurden die letzten sechs Byte von Vorlage so verändert, dass daraus ein eindeutiger (also nicht schon vorhandener) Name wurde. Hatte der Aufruf keinen Erfolg, wird Vorlage in eine leere Zeichenkette umgewandelt und errno gesetzt, um den Fehler anzuzeigen.
FEHLER¶
- EINVAL
- Die letzten sechs Buchstaben von Vorlage waren nicht XXXXXX.
ATTRIBUTE¶
Siehe attributes(7) für eine Erläuterung der in diesem Abschnitt verwandten Ausdrücke.
Schnittstelle | Attribut | Wert |
mktemp() | Multithread-Fähigkeit | MT-Sicher |
STANDARDS¶
Keine.
GESCHICHTE¶
4.3BSD, POSIX.1-2001. Enfernt in POSIX.1-2008.
FEHLER¶
Verwenden Sie mktemp() niemals. Einige Implementierungen folgen 4.3BSD und ersetzen XXXXXX durch die aktuelle Prozesskennung und einen einzelnen Buchstaben, so dass maximal 26 unterschiedliche Namen zurückgegeben werden können. Da einerseits die Namen einfach zu erraten sind und es andererseits einen Wettlauf zwischen der Prüfung, ob der Name existiert, und dem Öffnen der Datei gibt, ist jeder Einsatz von mktemp() ein Sicherheitsrisiko. Der Wettlauf wird von mkstemp(3) und mkdtemp(3) vermieden.
SIEHE AUCH¶
mktemp(1), mkdtemp(3), mkstemp(3), tempnam(3), tmpfile(3), tmpnam(3)
ÜBERSETZUNG¶
Die deutsche Übersetzung dieser Handbuchseite wurde von Andreas D. Preissig <andreas@sanix.ruhr.de> und Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer.
2. Mai 2024 | Linux man-pages (unveröffentlicht) |