TimDerLauch schrieb:
> Wenn eine Datei/Verzeichnis nicht existiert das sozusagen in einer
> Variable oder so speichern das die Datei/Verzeichnis nicht existiert so
> dass andere Abschnitte des Programms abrufen können.
Das würde ich nicht tun, führt nur zu Race Conditions. Normalerweise
versucht man einfach zu tun, was man will (Datei erstellen, löschen,
etc.) und schaut dann nach, ob es geklappt hat. Wenn es nicht geklappt
hat, bekommt man meist auch gleich den Fehlercode in errno und kann mit
errorstr eine Fehlermeldung anzeigen.
TimDerLauch schrieb:
> Und wie bekomme ich es hin das ich z.b. der Inhalt einer Textdatei in
> einer Variable zwischengespeichert werden kann?
Wenn es nur mit C mitteln sein soll, dann zuerst fopen, mit fseek zum
Dateiende, mit ftell die Grösse ermitteln, mit malloc den Speicher
reservieren, dann mit rewind oder fseek zurück zum Dateianfang, und dann
mit fread die Datei in den Speicher lesen. Führt aber zu sehr viel
verschwendetem Speicher und vielen möglichen Fehlerquellen, die man
abfangen muss.
Wenn es für Posix konforme Systeme ist, und sich die Dateigrösse nicht
ändert, kann mmap sinnvoll sein. Das mappt eine Datei direckt in den
Speicher.
Das oben beschriebene ist aber nur sinvoll, wenn man wirklich ständig
Zugriff auf zufällige Positionen in Files braucht. Ansonsten sollte man
Dateien immer in kleinen Stückchen lesen/schreiben, deren Grösse
ignorieren, und nie mit fseek die Position ändern oder mit ftell
auslesen. Das hat den Vorteil, dass weniger Speicher verbraucht wird,
man statt Daten beliebige Streams nehmen kann, z.B. mittels einer Pipe
die Ausgabe von anderen Prozessen, etc.