Programación General > C/C++
Dudas Con Estructuras Typedef
Hammerstrike:
Hola:
Tengo el siguiente problema. Tengo que hacer un gestor de proyectos en C. Se deben guardar los proyectos en un archivo (proyectos.db), hasta ahora funciona sin problemas, y ademas al crear un proyecto debe haber un archivo para cada proyecto (es decir proyecto1.pro proyecto2.pro... etc).
El problema es que tengo que usar estructuras y no soy muy entendido en punteros asi que prefiero no usarlos.
El problema es que necesito hacer un array de estructuras para poder elegir el proyecto que quiero modificar, tengo una funcion que llena una estructura con los datos del archivo proyectos.db pero al imprimirlas por pantalla no muestran nada. El codigo de algunas partes es:
--- Código: Text ---typedef struct { char nombre[max]; char desc[max]; char loc[max];}project;project pos[max1] //donde max1=100 ... //Tengo entendido que debiera funcionar con esto: project read_structure(){//Puntero al archivo...char line[100];FILE *id; int i=-1;int count=0;char str;project pos; id=fopen("proyectos.db","r"); while (!feof(id)){ fgets(line,max1,id); i++; switch (i) { case 1:{strcpy(pos[count].nombre,line);break;} case 2:{strcpy(pos[count].desc,line);break;} case 3:{strcpy(pos[count].loc,line);break;} default:{/*Leera el delimitador, por lo tanto debemos agregar un proyecto nuevo.*/ count++; i=-1;break; } } } return(pos);} Sin embargo no lee nada. Espero que me puedan ayudar
salu2
LeGatoRojo:
Puedes intentar usar un archivo binario para empezar, asi la lectura del archivo sea correcta, en la manera en que lo hace tan solo lees 100 caracteres y los pones en cada uno de los campos, asi podrías usar fread();
Hammerstrike:
--- Cita de: "Darktigerhell" --- Puedes intentar usar un archivo binario para empezar, asi la lectura del archivo sea correcta, en la manera en que lo hace tan solo lees 100 caracteres y los pones en cada uno de los campos, asi podrías usar fread();
--- Fin de la cita ---
La verdad, no tengo problemas en la escritura del archivo. El problema radica en obtener los datos de los campos en la estructura, ya que cuando lo hace no muestra nada.
Que se puede hacer??
Salu2 y gracias de todas maneras
cris_maco:
pero si solo has creado un struct como es que lo usas como si fuera un array de struct? me explico:
creas project pos, que es una estructura
pero luego haces esto pos[count].nombre y eso es un array de estructuras project y no las has creado.
Hammerstrike:
--- Cita de: "cris_maco" --- pero si solo has creado un struct como es que lo usas como si fuera un array de struct? me explico:
creas project pos, que es una estructura
pero luego haces esto pos[count].nombre y eso es un array de estructuras project y no las has creado.
--- Fin de la cita ---
Pero si yo creo el array dentro de esa funcion el resto de las funciones del codigo me reconocera el array?????
La lectura del archivo (proyectos.db) y llenado de la estructura, es lo primero que tengo que hacer (en la ejecucion del programa.
saly2 y gracias de antemano
Navegación
[#] Página Siguiente
Ir a la versión completa