Código
#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"; exit (1); } fi.open (argv[1]); if (!fi) { cerr << "Error: no pudo abrirse " << argv[1] << endl; exit (2); } fo.open(argv[2], ofstream::binary); if (fo.fail()) { cerr << "Error: No pudo crearse " << argv[2] << endl; exit (2); } 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] = entero; cont++; fi >> entero; } for(int i=0; i<cont; i++) fo.write ((const char *) (&buffer[i]), sizeof (int)); fi.close (); fo.close (); return (0); }