08/09/2012, 19:00
|
| | Fecha de Ingreso: diciembre-2011 Ubicación: CABA
Mensajes: 433
Antigüedad: 12 años, 10 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 |