SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: gandalfelgris en Jueves 27 de Enero de 2005, 01:19

Título: Problemas Con Lectura De Doubles Desde Fichero
Publicado por: gandalfelgris en Jueves 27 de Enero de 2005, 01:19
Hola Chicos,
                   Tengo un problema, porque tengo que leer unos datos del tipo double de un fichero de texto y no los consigo leer correctamente. Debo tener algun fallo en el código pero no lo veo. Aqui teneis el codigo de como leo los datos:

for (i=0;i<numCiudades;i++)
   {
      fscanf(fEntrada,"%g",&car2);
      if (car2!=EOF)
      {
         listaCiudades.coordenada_x=car2;
      }
      else {fprintf(fSalida,"Fallo en estructura (leer valoresObjetos) \n");}
      fscanf (fEntrada,"%f",&car2);
      if (car2!=EOF)
      {
         listaCiudades.coordenada_Y=car2;
      }
      else {fprintf(fSalida,"Fallo en estructura (leer valoresObjetos) \n");}
   }
La variable car2 esta declarada como double *car2, aunque he probado a declararla como double car2 y tampoco funciona.

Quisiera saber si alguno de vosotros me podria ayudar. Le estaría muy agradecido

Atentamente
Título: Re: Problemas Con Lectura De Doubles Desde Fichero
Publicado por: rir3760 en Jueves 27 de Enero de 2005, 19:41
La variable 'car2' la debes de declarar como tipo double ('double car2;'). Para leer un valor de tipo double de un archivo deberias utilizar:

Código: Text
  1. if (fscanf(fEntrada, &#34;%lf&#34;, &car2) == 1)
  2.    /* se pudo leer el valor */
  3. else
  4.    /*no se pudo leer el valor */
  5.  

Los especificadores de formato para funciones de entrada los puedes encontrar en esta pagina (http://www-ccs.ucsd.edu/c/lib_scan.html).

Un saludo