Binärdatei lesen und manipulieren
-
Ich versuche gerade das FAQ-Beispiel zu modifzieren:
#include <fstream> #include <iostream> using namespace std; int main() { fstream FileBin("image.bmp", ios::in|ios::out|ios::binary); ofstream OutFile("test.pak", ios::out | ios::binary); if (FileBin.is_open()) { // 1. Dateigröße bestimmen. FileBin.seekg(0, ios::end); unsigned long FileSize = streamoff(FileBin.tellg()); FileBin.seekg(0, ios::beg); // 2. Puffer anlegen und Datei einlesen. char* pBuffer = new char[FileSize]; FileBin.read(pBuffer, FileSize); for(unsigned int i=0; i<FileSize; ++i) OutFile.write(pBuffer[i], 1); // Fehler! // Nachher wieder aufräumen. delete [] pBuffer; } }Bei der for-schleife kann man bei OutFile.write pBuffer nicht so übergeben, wie ich das möchte.Mein Ziel war es, erstmal zeichenweise die Datei in eine neue zu übertragen. Wie könnte ich das erreichen?
-
ofstream::write() will einen pointer auf die daten also
OutFile.write(&pBuffer[i], 1); // kein Fehler!Kurt