Ver Mensaje Individual
  #2 (permalink)  
Antiguo 05/12/2012, 12:29
cesar_casla
 
Fecha de Ingreso: diciembre-2011
Ubicación: CABA
Mensajes: 433
Antigüedad: 13 años
Puntos: 94
Respuesta: [C] Leer solo la primera línea en un bucle

Hola! tenes dos errores:

1° en la condicion del while vos estas haciendo fin!=-1 el problema es que antes de esto a la variable fin no la inicializaste, por lo tanto puede traer problemas en la condicion. Deberias hacer:
Código C:
Ver original
  1. fin=fscanf(archivo, "%c", &actual);
  2.            
  3.     while(fin != -1) {
  4. .......
  5.  }

2° Lo mismo pasa con la variable anterior. Fijate que el txt empieza con la palabra "Atencion", empieza con una vocal, y al evaluar las condiciones del if va a ser falso por no inicializar la variable anterior; entonces cont no incrementa.
Código C:
Ver original
  1. char anterior=' ';
Tenes que tener en cuenta que cualquier variable no inicializada tiene "basura"



Para que solo lea una linea, la condicion del while debe ser:
Código C:
Ver original
  1. while(actual!='\n') /* osea distinte del salto de linea */
  2. {
  3. .......... /* codigo */
  4. }

Saludos