- while ( !feof(f_idx) ){
- /*busco cual tengo que borrar*/
- if ( fread(®, sizeof(EMUFS_IDX), 1, f_idx) != 1 ) continue;
- if ( reg.n_idreg == idreg ) {
- break;
- }
- }
-
- /* me paro en el que tengo que borrar */
- fseek(f_idx, -sizeof(EMUFS_IDX), SEEK_CUR);
- actual = ftell(f_idx); /* Guardo la posicion actual */
- fseek(f_idx, 0, SEEK_END); /* me voy al final */
- final = ftell(f_idx); /* veo cuando ocupa el archivo */
- fseek(f_idx, actual, SEEK_SET);/* vuelvo al lugar desde donde quiero justificar */
- /*calculo cuantos registros tengo que mover */
- cant = (final-actual)/sizeof(EMUFS_IDX);
- /*apunto al siguiente del que quiero borrar*/
- /*leo todos los que quedan*/
- 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);