title image


Smiley Re: Kann man unter C++ in TXT-Datein naviegieren wie bei Turbo Paskal?
habe es mal so gemacht:







class MOF {

private:

HANDLE hfile;

HANDLE hmap;

LPVOID nAdr;

std::string mainstream;

void MapMOFile(const char* sFileName){

mainstream = "";

hfile = CreateFile((LPCTSTR)sFileName,

GENERIC_READ | GENERIC_WRITE,

NULL, OPEN_EXISTING, 0, NULL);

if(hfile == INVALID_HANDLE_VALUE) return;

hmap = CreateFileMapping(hfile, NULL, PAGE_READWRITE,

0, 0, NULL);

if(hmap == 0){

CloseHandle(hfile);

return;

}

nAdr = MapViewOfFile(hmap, FILE_MAP_ALL_ACCESS, 0, 0, 0)

if(nAdr == 0){

CloseHandle(hmap);

CloseHandle(hfile);

return;

}

mainstream = (char*) nAdr;

};

public:

MOF(const char* sFileName) { MapMOFile(sFileName); };

~MOF(){

if(nAdr != 0){

UnmapViewOfFile(nAdr);

CloseHandle(hmap);

CloseHandle(hfile);

}

};

DWORD GetSize() { return mainstream.size(); };

LPVOID GetAddress() { return nAdr; };

};



Folglich ist mainstream als eine Class von String Träger aller Informationen

der Datei und das blitzschnell. Änderst Du nur ein Byte, wirkt sich das sofort

in der realen Datei aus, und zwar ohne Warnung. Über die Methoden von String

kannst Du nun so zugreifen, als befände sich die Datei komlett in einem Array.



So meinte ich das ;)


geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: