Bir ikili dosyayı bir arabelleğe okumak için kod yazmaya, ardından arabelleği başka bir dosyaya yazmaya çalışıyorum. Aşağıdaki koda sahibim, ancak arabellekte yalnızca dosyanın ilk satırından birkaç ASCII karakteri depolanır ve başka hiçbir şey saklanmaz.
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 );