Problema funcion en C

Vereis, no se por que demonios es, y estoy desquiciado, pero se cuelga despues de el primer scanf [enfado1] [enfado1]
void borrar(){

FILE* origen;
origen=fopen("diccionari.dat","rb");

FILE *aux;
aux=fopen("auxiliar.dat","ab");

char palabro[25];


Paraula w;
if(origen!=NULL){

          system("clear");
      printf("Introdueix la paraula a esborrar: \n");
      scanf("%s",palabro);
      
      fread(&w,sizeof(Paraula),1,origen);

      while (!feof(origen))
       {   
          if(strcmp(palabro,w.catala)!=0){
             fwrite(&w,sizeof(Paraula),1,aux);
            fread(&w,sizeof(Paraula),1,origen);
          }
       }
fclose(origen);
fclose(aux);
system("mv auxiliar.dat diccionari.dat");
}else{
   system("clear");//*
   printf("Error :(\n");
   system("sleep 5");//*
}

}


A ver si le veis algún fallo, no pasa del scanf de palabro D:

nota: si lo compilais en windows no ira.
No te falta el & en palabro del scanf?
Nota el bucle infinito que estás creando cuando llegas a encontrar la palabra que estás buscando en el fichero.
fuse2k escribió:No te falta el & en palabro del scanf?

Voto por eso tambien.
Pues gallifante para codestation. k0bra y fuse2k pierden.
Cierto, ahora que puedo contestar te doy las gracias codestation. :D
6 respuestas