Tom: C++: (File)locking für IO-Streams

Beitrag lesen

Hello,

Genauere Informationen finden sich in der API-Doku der entsprechenden Funktionen.

Wo finde ich die?

Es gibt auch diverse Bibliotheken, die das plattformübergreifend abstrahieren - allerdings sind das meist Bibliotheken, die noch weitaus mehr machen und wo das nur ein kleiner Teil ist.

Das Interessante ist dabei, dass im OS (WinDOS) alles nur über ein Byte (Filemode HighNibble) gesteuert wird; zumindest bis Windows NT(Server) funktionierte das einwandfrei. Nur die Workstation hatte für lokale Files, die durch mehrere Prozesse gleichzeitig benutzt werden "Sonderregeln".

Bei Turbo-Pascal funktioniert das auch bei Win XP wieder, allerdings nur für 8.3-Konvention, die extended filesystem interrupts (für lange Dateinamen) habe bisher nicht zum Laufen gebracht.

C gibt den File-Mode leider nicht transparent weiter, sondern verwendet die bekannten Namen dafür (w, r, a, +, b, ...) als "Übersetzung". Außerdem ist das Konzept ein anderes, als das der "frühen Filesysteme" und ihrer Interrupts. Könnte das daran liegen, dass C eigentlich für Unix und nicht für Intel-DOSen erfunden wurde?

Mit C++ habe ich leider bisher noch überhaupt nicht locked, zumindest nicht wissentlich und selbst gezielt veranlasst.

Liebe Grüße aus Syburg bei Dortmund

Tom vom Berg

--
Nur selber lernen macht schlau
http://bergpost.annerschbarrich.de