Alex: (file)handle oder (file)pointer

Beitrag lesen

Hi dedlfix!

Ein Zeiger ist nicht viel mehr als ein Verweis auf eine bestimmte Stelle. Und so kann man den Verweis auf eine Datei auch als Zeiger ansehen. Doch um Lese- und Schreiboperationen durchführen zu können, braucht es doch noch etwas mehr Verwaltungsinformation als nur einen Verweis. Deswegen hat man sich wohl gedacht, dass die Bezeichnung Handle da viel besser passt. Zumal man beim Lesen und Schreiben in der Datei auch wieder einen (zweiten) Pointer hat, der auf die gerade aktuell zu lesende oder schreibende Stelle verweist. Dieser Zeiger wird oft nur indirekt (über seek) bedient. Trotzdem will man den nicht mit einem Verweis auf die Datei an sich verwechseln.

Ich glaube mir fehlt da etwas das abstrakte Denken. Kann ich mir das bildhaft etwa so vorstellen?

Zeiger = Ich zeige auf einen Notizblock.

Will ich nun etwas aus dem Block radieren, reinschreiben oder ähnliches, muss ich diesen schon greifen (Handle).

Letzter Verständnisversuch, danach nehme ich Handle als gegeben hin oder schreibe einfach alles in eine Variable $foo oder so. Problem ist nur, dass ich mir das so einfach nicht merken kann, wenn ich es nur auswendig lerne und nicht verstehe.