- /*busco el registro que tengo que eliminar*/
- if ( (f_block_reg = fopen(name_f_block_reg,"r+")) == NULL ) return -1;
- while ( !feof(f_block_reg) ){
- if ( fread(®_b,sizeof(BLOCK_REG_T),1,f_block_reg) != 1 ) continue;
- if ( reg_b.id_reg == ID )
- break;
- }
- fseek(f_block_reg, -sizeof(BLOCK_REG_T), SEEK_CUR);
- /* Estoy parado sobre el punto id/registro que debo borrar */
- printf("registro borrado= %ld en bloque = %d\n",reg_b.id_reg,reg_b.block);
- /*justifico en archivo a la izquieda*/
-
- /* GAZER : aca hago una prueba */
- {
- long final, actual;
- actual = ftell(f_block_reg); /* Guardo la posicion actual */
- fseek(f_block_reg, 0, SEEK_END); /* me voy al final */
- final = ftell(f_block_reg); /* veo cuando ocupa el archivo */
- fseek(f_block_reg, actual, SEEK_SET); /* vuelvo al lugar desde donde quiero justificar */