title image


Smiley Re: Eine kleine Frage.
Hi Sepp,



ich kann nicht nachvollziehen, welche Schwierigkeiten Du damit haben könntest. Du holst

Dir mit CreateFile() einen File-Handle, mit diesem Handle holst Du mit CreateFileMapping() einen Handle auf ein Mapping-Objekt und mit diesem Objekthandle öffnest Du eine MapViewOfFile. Daraufhin wird das File in den virtuellen Speicher abgebildet, wodurch der Speicher transparent wird. D.h. jedes Byte im Speicher repräsentiert ein Byte im File. Den Beginn dieses Speichers, einen Pointer, liefert MapViewOfFile zurück. Diesen Pointer kannst Du in einen (fast!) beliebigen Typ casten.

Castest Du den in Char*, so wird der Speicher wie ein String behandelt mit der Ausnahme die Fatbull gesagt hat: Ist irgendwo ein /0 ist an dieser Stelle der String zu ende.

Innerhalb dieses Speichers kannst Du dich ohne Rücksicht auf einen Filepointer bewegen wie es lustig ist. Drehst Du aber auch nur irgendwas an einem einzigen Bit, ist die Datei sofort verändert, ohne Rückfrage! Ich frage mich schon längst wieso manche Leute noch mit open arbeiten und Seek und Co. zumal man das Mapping ja auch nur Readonly öffnen kann etc.


geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: