Die Funktion fopen
gibt einen Zeiger auf eine FILE
Struktur zurück, die als undurchsichtiger Wert betrachtet werden sollte, ohne sich mit ihrem Inhalt oder ihrer Bedeutung zu befassen.Wie bekomme ich die Datei HANDLE aus der fopen FILE-Struktur?
Unter Windows ist die C-Laufzeitumgebung ein Wrapper der Windows-API, und die -Funktion beruht auf der CreateFile
-Funktion. Die Funktion CreateFile
gibt eine HANDLE
zurück, die von einer anderen Windows-API verwendet wird.
Jetzt muss ich Windows API tief in einer Bibliothek verwenden, die und FILE*
verwendet. Also: Gibt es eine Möglichkeit, die HANDLE
von der FILE
Struktur zu bekommen? Da dies compilerspezifisch ist, meine ich die MSVC-Laufzeitbibliothek.
Ich verstehe, dass dies ein hässlicher, nicht portabler Hack wäre, und das könnte kaputt gehen, wenn Microsoft das interne Format FILE
ändert ... aber ich entwickle auf einem geschlossenen System (dh auf einem Windows CE Embedded System) und das Refactoring der Bibliothek wäre schwierig und zeitaufwendig.
Gute Frage, ich mit dieser beschäftigt mich mehr als 2 Jahren. –