• Domingo 15 de Diciembre de 2024, 08:48

Autor Tema:  Re: dudas  (Leído 1212 veces)

GallaZ-

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: dudas
« en: Miércoles 3 de Septiembre de 2003, 15:23 »
0
Pues si.. tengo algunas dudas sobre archivos.
el formato de mi fichero de configuracion es el siguiente:
[TIPO]
variable1=la vida es bella
variable2=10
variable3=50
[END]

Lo que quiero hacer es el programa lea primero si es un [TIPO], si lo es, que lea las variables y las almacene en una variables del programa. No quiero modificar los datos del archivo, solo leerlos. Los problemas que he tenido al intentar crear esta funcion, ha sido la de no poder encontrar los datos necesarios.
La verdad que tu explicacion es muy buena.. y te lo agradezco, pero la verdad es que con los ficheros ando muy verde aun.

Un Saludo, GallaZ-.

GallaZ-

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
Re: dudas
« Respuesta #1 en: Miércoles 3 de Septiembre de 2003, 15:25 »
0
el mensaje es respuesta de la respuesta de problema con archivos de configuracion.

JuanK

  • Miembro de ORO
  • ******
  • Mensajes: 5393
  • Nacionalidad: co
    • Ver Perfil
    • http://juank.io
Re: dudas
« Respuesta #2 en: Miércoles 3 de Septiembre de 2003, 16:09 »
0
Bueno como eres nuevo en el foro, te comento que en general trato de no dar mucho codigo a nadie, aslta que demuestre que  esta haciendo algo por si mismo.
La función que necesitas es relativamente sencilla, asi que espero que una vez aprendas un poco mas de archivos la puedas hacer por ti mismo, aqui anexo ejemplo de manejo de archivos, este ejemplo carga los datos de un archivo y los almacena en una estructura.. como podras ver es una funcion no un programa.

No te lies con lo de la estructutra, simplemente presta atencion en lo que se hace para leer el formato de archivo:
 
Código: Text
  1.  
  2. #include <stdio.h>
  3. #include <io.h>
  4. #include"ordenamiento.h"
  5. #define NOEXF 23
  6. #define NOLEN 24
  7. #define BUFFI 4
  8.  
  9. struct Data
  10. {
  11.   struct Data *Pre,*Post;
  12.   int info;
  13. };
  14.  
  15.  
  16. /*captura datos para un arreglo, desde un archivo
  17.   de texto, los convierte en enteros y seguidamente
  18.   llena una estructura dinamica.
  19.   El archivo debe poseer elformato:
  20.   xxxx,xxxx,xxxx,xxxx,   para que la funcion lo pueda entener*/
  21. int Lectura(char *FileName,struct Data *Info)
  22. {
  23.   FILE *fp=NULL;
  24.   char buff[BUFFI];
  25.   int fd,multip=0,buffy;
  26.   struct Data *aux;
  27.  
  28.   if((fp=fopen(FileName,"r"))!=NULL)
  29.   {
  30.     fd=fileno(fp);
  31.     multip=filelength(fd);
  32.     if(multip%(BUFFI+1)==0)
  33.     {
  34.       Info->Pre=NULL;
  35.       Info->info=0;
  36.       Info->Post=NULL;
  37.  
  38.       while(multip>0)
  39.       {
  40.         fread(buff,sizeof(buff),1,fp);
  41.         Info->info=strtol(buff,NULL,10);
  42.         aux=(struct Data *)malloc(sizeof(struct Data));
  43.         Info->Post=aux;
  44.         aux->Pre=Info;
  45.         aux->Post=NULL;
  46.         Info=aux;
  47.         fseek(fp,1,SEEK_CUR);
  48.         multip-=(BUFFI+1);
  49.       }
  50.       free(aux);
  51.       free(Info);
  52.       fflush(fp);
  53.       fclose(fp);
  54.       close(fd);
  55.     }
  56.     else
  57.     {
  58.       return NOLEN;//Archivo de tama¤o inapropiado no es multiplo de BUFFY+1
  59.     }
  60.   }
  61.   else
  62.   {
  63.     return NOEXF;//Archivo no existe
  64.   }
  65. }
  66.  
  67.  

Si te da lio, me avisas y trato  de sacarte un ejemplo mas  cercano a lo que necesitas.
[size=109]Juan Carlos Ruiz Pacheco
[/size]
Microsoft Technical Evangelist
@JuanKRuiz
http://juank.io

GallaZ-

  • Nuevo Miembro
  • *
  • Mensajes: 6
    • Ver Perfil
dudas
« Respuesta #3 en: Miércoles 3 de Septiembre de 2003, 22:40 »
0
Bien, muchas gracias... es una ejemplo muy bueno. De esa funcion espero poder implementarlo a mi gusto y a mi forma de acceder a los datos.

Saludos, GallaZ-.