Bau dir doch selbst eine Klasse.
Als Member-Variable gibst du ganz klassisch ein z.B. FILE *stream an.
Zum öffnen bauste die Funktion, kannst die auch als Constructor nehmen:
Code:
bool OpenFile(const char *fileName)
{
if ((stream=fopen(fileName, "rt")) == 0)
return false;
}
Zum lesen deiner beliebigen Bytes:
Code:
bool WriteFromTo(const long offset, const long count, char *array)
{
if (fseek(stream, offset, 0)==-1)
return false;
array=new char[count];
char c;
for(long i=0; i<count; i++)
if ((c=fgetc(stream))!=EOF)
array[i]=c;
else
return true;
}
Das ließt dir jetzt in dein Array count Bytes ein. Dabei ist hier vorausgesetzt, dass du das Array vorher zwar angelegt hast, aber ohne ihm Speicher zuzuweisen!
Der Weg in die andere Richtung funktioniert ähnlich mit fputc. Kannst du dir ja mal selbst überlegen. Zur Erklärung der Funktionen gibt es bei Google sicher die ein oder andere Dokumentation.
Du darfst auch nicht vergessen die Datei irgendwann mit fclose zu schließen.
Der Code kann übrigens Fehler enthalten, habe schon bald ein Jahr lang kein C mehr geschrieben.
Übrigens ein wenig aufpassen mit diesem Klassenzeug. Es wird zwar als toll gepriesen, führt aber einiges an zusätzlichem Speicheraufwand mit sich herum und verlangsamt daher (natürlich nur bei großen Programmen spürbar).