Ya lo he solucionado.
Código C++:
Ver original#include <iostream>
#include <fstream>
#include <stdlib.h>
using namespace std;
int main (int argc, char **argv)
{
const int TAM_BUFFER = 128;
int buffer [TAM_BUFFER];
int entero, cont=0;
ifstream fi;
ofstream fo;
if (argc != 3) {
cerr << "Error: Numero de argumentos incorrecto\n";
cerr << "Formato: " << argv[0]<< " <fich_in> <fich_out>\n";
}
fi.open (argv[1]);
if (!fi) {
cerr << "Error: no pudo abrirse " << argv[1] << endl;
}
fo.open(argv[2], ofstream::binary);
if (fo.fail())
{
cerr << "Error: No pudo crearse " << argv[2] << endl;
}
fi >> entero;
while (!fi.eof())
{
if(cont==TAM_BUFFER){
for(int i=0; i<TAM_BUFFER; i++)
fo.write ((const char *) (&buffer[i]), sizeof (int));
}
buffer[cont];
cont++;
fi >> entero;
}
for(int i=0; i<cont; i++)
fo.write ((const char *) (&buffer[i]), sizeof (int));
fi.close ();
fo.close ();
return (0);
}
Gracias. Un saludo.