- fseek(f_idx,final,SEEK_SET);
- while ( fread(buffer,sizeof(EMUFS_IDX),cant-1,f_idx)) ;
- for( i=0; i<cant; i += sizeof(unsigned long int))
- printf("buffer[%ld] = %d %d\n",i/sizeof(unsigned long int),*(buffer+i),*(buffer+2*i));
- /*apunto al lugar donde deben ser guardados*/
- fseek(f_idx,actual,SEEK_SET);
- /*los guardo*/
- fwrite(buffer,sizeof(EMUFS_IDX),cant-1,f_idx);
- free(buffer);
-
- fseek (f_idx,0,SEEK_END);
+ for(i=0; i<cant; i++) {
+ final = actual + sizeof(EMUFS_IDX);
+ fseek(f_idx, final, SEEK_SET);
+ fread(®, sizeof(EMUFS_IDX), 1, f_idx);
+ fseek(f_idx, actual, SEEK_SET);
+ fwrite(®, sizeof(EMUFS_IDX), 1, f_idx);
+ actual += sizeof(EMUFS_IDX);
+ }
+ /* Aca deberia estar al final del archivo , no hago seek */