• Jueves 2 de Mayo de 2024, 15:55

Autor Tema:  Leer Fichero  (Leído 1845 veces)

johncapi

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Leer Fichero
« en: Miércoles 25 de Enero de 2012, 16:42 »
0
Hola a tod@s !!!

A ver tengo un problema para leer de fichero y no se como solucionarlo !!

Imaginen que en el fichero.txt tengo esto:
sad12### -34.5666xxxx 99.01 asdasd7asd

Pues como puedo hacer para extraer los numeros (double) tal que quede asi??!?!?
12.0, -34.5666, 99.01 y 7.0

No se como hacerlo, lo he intentando con el fgetc pero sin exito

A ver si me pueden echar una mano y gracias !!

johncapi

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re:Leer Fichero
« Respuesta #1 en: Miércoles 25 de Enero de 2012, 19:18 »
0
Por favor una ayuditaa !!! :ayuda: :ayuda:
He probado con fgetc(), con fscanf(), y intentado guardar la cadena con fgets() y luego tratarla, pero no hay manera !!
Alguna sugerencia ?? :think: :think:

ProfesorX

  • Moderador
  • ******
  • Mensajes: 796
  • Nacionalidad: mx
    • Ver Perfil
Re:Leer Fichero
« Respuesta #2 en: Jueves 26 de Enero de 2012, 21:45 »
0
Primero que nada, seria bueno saber si el archvo de texto tiene un formato predeterminado, o sea, si los datos estas separados por espacios, por comas, o siguen algun otro tipo de secuencia, eso facilitaria mucho las cosas.

Ahora, si el contenido del archivo es completamente aleatorio, es decir, que los datos no tienen un formato predeterminado, eso lo dificulta un poco, aun asi, no es imposible.

Como yo lo veo, el algoritmo que podrias seguir en caso de que los datos no tengan un formato predeterminado es:

1. Leer el caracter.
2. Comprobar si el caracter leido es un numero del 0 al 9, un punto (.) o un signo de menos (-)
3. En caso afirmativo, almacenar ese numero/punto/signo en un arreglo de char, y regresar al paso 1.
4. En caso negativo, descartar el caracter, convertir lo que haya almacenado en el arreglo de char y regresar al paso 1.
4. Repetir los pasos del 1 al 4 hasta que hayas leido todo el archivo.

Espero que eso te de una mejor idea de lo que debes hacer.

Saludos :)

NOTA:
==================================================================
Este foro es para ayudar, aprender, compartir... usenlo para eso,
NO SE RESUELVEN DUDAS POR MENSAJE PRIVADO Y MENOS POR CORREO
==================================================================

johncapi

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re:Leer Fichero
« Respuesta #3 en: Sábado 28 de Enero de 2012, 13:07 »
0
Primero que nada, seria bueno saber si el archvo de texto tiene un formato predeterminado, o sea, si los datos estas separados por espacios, por comas, o siguen algun otro tipo de secuencia, eso facilitaria mucho las cosas.

Ahora, si el contenido del archivo es completamente aleatorio, es decir, que los datos no tienen un formato predeterminado, eso lo dificulta un poco, aun asi, no es imposible.

Como yo lo veo, el algoritmo que podrias seguir en caso de que los datos no tengan un formato predeterminado es:

1. Leer el caracter.
2. Comprobar si el caracter leido es un numero del 0 al 9, un punto (.) o un signo de menos (-)
3. En caso afirmativo, almacenar ese numero/punto/signo en un arreglo de char, y regresar al paso 1.
4. En caso negativo, descartar el caracter, convertir lo que haya almacenado en el arreglo de char y regresar al paso 1.
4. Repetir los pasos del 1 al 4 hasta que hayas leido todo el archivo.

Espero que eso te de una mejor idea de lo que debes hacer.

Saludos :)
Gracias por tu respuesta !!!
Voy a intentarlo como dices, a ver que tal sale !! :gracias: