Your Browser is not longer supported
Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...
{{viewport.spaceProperty.prod}}
mktemp - eindeutigen temporären Dateinamen erzeugen (Erweiterung)
&pagelevel(4)&pagelevel
Definition | #include <stdlib.h> char *mktemp(char *template); |
Beschreibung | mktemp() ersetzt den Inhalt der Zeichenkette, auf die template zeigt, durch einen eindeutigen Dateinamen und gibt die Adresse von template zurück. Die Zeichenkette, auf die template zeigt, sollte einen Dateinamen mit sechs nachfolgenden 'X' enthalten. mktemp() ersetzt die 'X' zur Erstellung eines eindeutigen Dateinamens durch einen Buchstaben und die aktuelle Prozess-ID. Der Buchstabe wird so gewählt, dass sich keine doppelten Dateinamen ergeben.
BS2000 mktemp() erzeugt einen eindeutigen Dateinamen für eine temporäre SAM-Datei. Der Name muss aus mindestens acht Zeichen bestehen und wird wie folgt gebildet: Die ersten drei Zeichen werden ersetzt durch „#T.“. Das vierte Zeichen wird durch ein Zeichen ersetzt, das sich bei jedem mktemp -Aufruf ändert (Buchstaben A - Z, Ziffern 0 - 9). die letzten vier Zeichen werden ersetzt durch die TSN-Nummer des aktuellen Prozesses (seit LOGON). Zeichen zwischen den ersten und letzten vier Zeichen bleiben unverändert.
Hat template z.B den Wert "XXXX.ABC.XXXX" und die TSN-Nummer des aktuellen Prozesses ist 6082, dann erzeugt mktemp() beim ersten Aufruf den temporären Namen #T.A.ABC.6082 (Ende) |
Returnwert | Zeiger auf eine Zeichenkette, die den neuen Namen enthält, |
|
| bei Erfolg. |
| Zeiger auf eine leere Zeichenkette |
| | wenn kein eindeutiger Name erstellt werden kann, weil z.B. keine Buchstaben mehr frei sind. |
Hinweise | In dem Zeitraum zwischen der Erzeugung des Dateinamens und dem Öffnen der Datei kann ein anderer Prozess eine Datei mit demselben Namen erzeugen. Wenn Sie die Funktion mkstemp() verwenden, vermeiden Sie dieses Problem. Aus Gründen der Portabilität zu Implementierungen, die sich an frühere Versionen des X/Open-Standards halten, wird zur Erzeugung eines eindeutigen Dateinamens die Funktion tmpnam() empfohlen. mktemp() kann maximal 26 eindeutige Dateinamen pro Prozess für jedes eindeutige template erzeugen.
BS2000 Temporäre Dateien werden automatisch bei Beendigung eines Prozesses (LOGOFF) gelöscht. Wenn allerdings bei der Systemgenerierung das standardmäßige Präfix (#) für temporäre Dateien geändert wurde, bleiben die Dateien erhalten. (Ende) Ob eine BS2000-Datei oder eine POSIX-Datei erstellt wird, hängt von der Programmumgebung ab. |
Siehe auch | mkstemp() , tmpfile() , tmpnam() , stdlib.h .
|