Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/09/2012, 11:16
ivalle
 
Fecha de Ingreso: septiembre-2012
Mensajes: 1
Antigüedad: 12 años, 2 meses
Puntos: 0
Fin de fichero en Unix

Buenas tardes, llevo unas horas pegándome con un pequeño programa en c, añado la parte de código que me da problemas y explico lo que me pasa...

Código c:
Ver original
  1. while(opresult != EOF){
  2.                         numcar=0;
  3.                         while(caracter != ';'){
  4.                                 if(numcar>0){fichas[numfich].nombre[i]=caracter;}
  5.                                 opresult=fread (&caracter, sizeof(char), 1, fichero);
  6.                 printf("numero de caracter: %d caracter \" %c \"\n", numcar, caracter);
  7.                                 numcar++;
  8.                                 i++;
  9.                         }
  10.                         numcar=0;
  11.                         i=0;
  12.                         while(caracter != '\n'){
  13.                                 if(numcar>0){fichas[numfich].posicion[i]=caracter;}
  14.                                 opresult=fread (&caracter, sizeof(char), 1, fichero);
  15.                 printf("numero de caracter: %d caracter \" %c \"\n", numcar, caracter);
  16.                                 numcar++;
  17.                                 i++;
  18.                         }
  19.                 numfich++;
  20.                 }

Ahora bien, estoy intentando leer en Ubuntu un fichero caracter a caracter, asta ahí bien, me los lee todos, el problema le tengo cuando me llega a final de fichero que me lee continuamente el caracter '10' que en la tabla ascii es el salto de linea en vez de un EOF por ejemplo...

Perdón, que el código sale sin tabuladores aquí :S si alguien me comenta el problema... muchas gracias

Última edición por ivalle; 08/09/2012 a las 11:41