![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
![]() ![]()
Mit tmpnam können sie einen eindeutigen Namen für eine temporäre Datei erzeugen. Der Syntax sieht wie folgt aus...
Mit tmpnam wird also ein eindeutiger Name erzeugt, das heißt keinen Namen einer bereits existierender Datei. Insgesamt können TMP_MAX eindeutige Namen erzeugt werden. TMP_MAX ist in der Headerdatei definiert. Mit folgendem Programm können sie herausfinden wie viele temporäre Dateien sie erzeugen können...
Wenn sie bei der Funktion tmpnam folgendes Schreiben...
...wird die Datei in einem static - Speicherbereich untergebracht und die Adresse wird als Funktionswert wiedergegeben. Das heißt nun das nachfolgende Aufrufe der Funktion tmpnam die selbe Adresse einnehmen. Aus diesem Grund sollten sie Umkopieren um die alte Adresse nicht zu überschreiben.
Bevor wir zu einem Programmbeispiel von tmpnam kommen benötigen wir erst noch mal die Funktion tmpfile. Hier der Syntax...
Mit tmpfile wird automatisch eine temporäre Datei erzeugt und wenn das Programm ordentlich beendet wird wird diese Datei auch wieder automatisch gelöscht.
Als erstes wird in diesem Programm die Funktion tmpnam demonstriert. Wir erzeugen 2 temporäre Dateien mit dem NULL - Zeiger und zwei ohne. Anschließend erzeugen wir eine temporäre Datei und schreiben einen Text in diese Datei mit fputs. Anschließend lesen wir aus der erzeugte temporären Datei auf die der FILE - Zeiger tmp zeigt. Bei ordentlichem beenden wird diese temporäre Datei auch wieder gelöscht. Zur Demonstration das auch tatsächlich eine temporäre Datei erzeugt wurde könne sie bevor sie mit der Zeile...
aus der temporären Datei lesen das Programm mit exit abbrechen. Etwa so....
Nun sollte in dem Verzeichnis in dem sie das Programm ausführen eine Datei sein mit dem Inhalt des Textes...
Der Name der Datei dürfte TMP5.$$$ oder so ähnlich lauten. ![]() ![]() ![]() |