mkstemp(3) (BSD Compatibility Package) mkstemp(3)
NAME
mkstemp - Einen eindeutigen Dateinamen erstellen
SYNTAX
/usr/ucb/cc [flag ...] file ... -lucb
#include <stdlib.h>
int mkstemp(char *template);
BESCHREIBUNG
mkstemp erstellt einen eindeutigen Dateinamen, normalerweise in einem
temporären Dateisystem, indem template durch einen eindeutigen Datei-
namen ersetzt wird, und gibt einen Datei-Deskriptor für die zum Lesen
und Schreiben offene Datei, die durch template angegeben wird, zurück.
Die Zeichenkette in template sollte einen Dateinamen mit sechs nach-
folgenden X enthalten; mkstemp ersetzt die X durch einen Buchstaben
und die aktuelle Prozeß-ID. Der Buchstabe wird so gewählt, daß sich
keine doppelten Dateinamen ergeben. mkstemp verhindert einen Wettlauf
zwischen der Überprüfung auf Vorhandensein der Datei und dem Öffnen
der Datei.
RÜCKGABEWERT
mkstemp gibt -1 zurück, wenn keine geeignete Datei erstellt werden
konnte.
HINWEISE
Es besteht die Möglichkeit, daß die Buchstaben ausgehen.
mkstemp ändert die übergebene Zeichenkette, die durch template angege-
ben wird. Dies bedeutet, daß Sie eine Zeichenkette, die durch template
angegeben wird, nicht mehrmals verwenden können. Für jede eindeutige
Datei, die Sie öffnen möchten, benötigen Sie eine neue Schablone.
Wenn mkstemp einen neuen eindeutigen Dateinamen erstellt, wird
zunächst überprüft, ob vorher bereits eine Datei mit diesem Namen exi-
stiert hat. Wenn Sie also mehr als einen eindeutigen Dateinamen
erstellen, sollte nicht derselbe Ursprungsdateiname, der durch tem-
plate angegeben wird, für mehrere Aufrufe von mkstemp verwendet wer-
den.
SIEHE AUCH
getpid(2), open(2), tmpfile(3S), tmpnam(3S).
Seite 1 Reliant UNIX 5.44 Gedruckt 11/98