Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/06/2012, 17:46
vani18
 
Fecha de Ingreso: junio-2010
Mensajes: 752
Antigüedad: 14 años, 5 meses
Puntos: 5
eliminar dato archivo binario

en este codigo de archivo binario , donde esta funcion lo que hace es eliminar, que es lo que sucede, se copia todo el contenido a otro archivo , para luego hacer las modificaciones, de eliminar una estructura seleccionada , que es este caso , se realizo un busqueda y la especificada es eliminada, entonces, luego de hacer las modificacion, se copia del archivo temporal al original.. eso es lo que sucede,,,????

Código PHP:
void Borrar(void){
   
FILE *fp,*fd;
   
Amigo    aux;
   
int encontrado=0;
    
char cadena[25];

   
printf("Introduce el nombre del Amigo a borrar: ");
   
gets(cadena);

   
printf("n BORRANDO REGISTROS  n");
   
fp=abrir_fichero_b(nombre_fichero,0);
   if(!(
fp))
       
printf("n Error de apuertura del archivo agenda.datn");
   else{
        
fd=abrir_fichero_b("paso.$$$",1);
      if(!(
fd))
         
printf("n Error Imposible crear archivo auxiliarn");
      else{
         while ((
fread(&auxsizeof(aux), 1fp))!=0)
            if(
stricmp(aux.nom,cadena)!=0)
              
fwrite(&auxsizeof(aux), 1fd);
            else
              
encontrado=1;
         
fclose(fd);
      }
      
fclose(fp);
      if(
encontrado){
         
system("del agenda.dat");
         
system("ren paso.$$$ agenda.dat");
         
printf("n Registro BORRADO con Exito!!!n");
      }
      else{
         
system("del paso.$$$");
         
printf("n El Registro NO SE ENCONTRO, no fue borrado!!!");
      }
   }
}

/******************************************