<"archal3">) el archivo anterior, tomado los primeros 30 para el primer archivo, los
siguientes 30 para el segundo y los restantes para el tercero."
Yo pense hacer lo con:
fseek(pf,29,0)
//va del principio a la posicion 29
fseek(pf,51,1)
//de la posicion actual a la 59
Código:
fseek(pf,60,2)
//de la 60 hasta que termine el archivo
tengo duda para grabar los demas archivos, como hago? están bien los fseek?
de base voy a usar la siguiente codificacion:
Código:
Código:
#include <stdio.h> #include <stdlib.h> #define MSG 1 int abrir_archivo (FILE**, char *, char *, int); void mostrarReg(vect); int main(void) { int i; int vect; FILE *archi; archi=fopen("archalea.dat","w+b"); if(!archi) { puts("imposible abrir archivo"); } else { printf("90 numeros aleatorios del 0 al 99\n\n"); for(i=0; i<89; i++) { vect=rand() % 1000; fwrite(&vect,sizeof(vect),1,archi); } fclose(archi); archi=fopen("archalea.dat","r+b"); if(archi) { int conta=0; while (!feof(archi)) { printf("\n posicion= %d Numero : %d", conta+1,vect); conta++; fread(&vect, sizeof(vect),1, archi); //acá tengo que poner los fseek? } } else { puts("imposible abrir archivo"); } } close(archi); printf("\n"); return 0; }