Ver Mensaje Individual
  #2 (permalink)  
Antiguo 08/09/2012, 19:00
cesar_casla
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 4 meses
Puntos: 94
Respuesta: Fin de fichero en Unix

Hola! el problema puede deberse a que estas haciendo mal la lectrura... fread no devuelve EOF en caso de error sino que el valor devuelto es indefinido(en este caso puede ser menor a 1); y si la lectura fue correcta devuelve 1 tambien en este caso

Explicacion posible de lo q pasa: Cuando fread lee el ultimo caracter, el ENTER, no se cumple caracter != '\n' entonces se evalua opresult != EOF pero como la lectura fue correcta opresult es igual a 1 provocando q la condicion sea verdadera y a su vez tambien se cumple caracter != ';' por lo tanto entra a ese bucle. Una vez adentro fread intenta leer pero como se llego a EOF la lectura es incorrecta, esto provoca que la variable caracter nose modifique generando un bucle infinito ya que la condicion siempre es verdadera, osea se imprime enter continuamente

Fijate si con esto podes modificar algo, sino segui preguntando. Saludos