Sto cercando di scrivere il codice per leggere un file binario in un buffer, quindi scrivere il buffer in un altro file. Ho il seguente codice, ma il buffer memorizza solo un paio di caratteri ASCII dalla prima riga del file e nient'altro.
int length;
char * buffer;
ifstream is;
is.open ("C:\\Final.gif", ios::binary );
// get length of file:
is.seekg (0, ios::end);
length = is.tellg();
is.seekg (0, ios::beg);
// allocate memory:
buffer = new char [length];
// read data as a block:
is.read (buffer,length);
is.close();
FILE *pFile;
pFile = fopen ("C:\\myfile.gif", "w");
fwrite (buffer , 1 , sizeof(buffer) , pFile );