// PROGRAMA QUE PARTE UN FICHERO EN BLOQUES DE UN MISMO TAMAÑO 1024 BYTES // NOMBREFICHERO -> NOMBREFICHERO.1 NOMBREFICHERO.2 NOMBREFICHERO.3.... #include #include #define TAM 1024 // Bloques de 1 K int main (int argc, char *argv[]) { FILE *fent, *fsal; char bloque[TAM]; char nuevofichero[100]; int nbytes, I; if (argc != 2) { puts ("Error en parámetros"); exit (1); } fent = fopen (argv[1], "rb"); if (fent == NULL) { printf ("Error al abrir %s \n", argv[1]); exit (2); } I=1; nbytes = fread (bloque,1,TAM,fent); while(nbytes > 0) { // El nuevo ficheros NOMBRE.Numero sprintf (nuevofichero, "%s.%d", argv[1],I); fsal = fopen (nuevofichero, "wb"); fwrite (bloque,1,nbytes,fsal); fclose(fsal); I++; nbytes = fread (bloque,1,TAM,fent); } fclose(fent); printf("\n Fichero partido en %d trozos.\n",I-1); }