Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: mataliebres en 8 Marzo 2015, 14:17 pm



Título: pregunta sobre archivo de texto
Publicado por: mataliebres en 8 Marzo 2015, 14:17 pm
hola gente, hay alguna funcion que lea digito a digito de un archivo de texto? un ejemplo, en el archivo de texto hay estos numeros 34586677889  me gustaria leer el primero 3 luego el 4 el 5 el 8... todo seguido hasta llegar al final,
me gustaria que la variable que los guarda fuera un int no char, para poder hacer calculos con ellos


Título: Re: pregunta sobre archivo de texto
Publicado por: ivancea96 en 8 Marzo 2015, 14:59 pm
Especifica lenguaje.

En C++, puedes hacer:

Código
  1. char c;
  2. ifstream file("...");
  3. file.read(&c,1);
  4. int n = c-'0';


Título: Re: pregunta sobre archivo de texto
Publicado por: mataliebres en 8 Marzo 2015, 15:18 pm
perdon en lenguaje c


Título: Re: pregunta sobre archivo de texto
Publicado por: ivancea96 en 8 Marzo 2015, 15:29 pm
Código
  1. char c;
  2. FILE *f = fopen("...","r");
  3. c = fgetc(f);
  4. int n = c-'0';


Y esto por cada número. Si quieres parar cuando haya un espacio, por ejemplo, haz una comprobación con 'c';



EDITO: La variable 'c' mejor que sea int, ya que fgetc() retorna int, para posibles errores y fin de archivo.


Título: Re: pregunta sobre archivo de texto
Publicado por: mataliebres en 8 Marzo 2015, 15:54 pm
gracias ivancea96 funciona, pero hay un problema, con un while cuando acaba de leer todos los numeros sale al final -49, hay alguna forma de poder quitar eso?


Título: Re: pregunta sobre archivo de texto
Publicado por: mataliebres en 8 Marzo 2015, 16:20 pm
ya esta solucionado era una tonteria, muchas gracias ivancea96