Estructuras en C

Iniciado por Redisteon, 10 Agosto 2013, 21:45 PM

0 Miembros y 1 Visitante están viendo este tema.

Redisteon

Mi pregunta es si se puede hacer que:

Generar una estructura en tiempo de ejecución del programa un ejemplo quiero generar registros y guardarlos en archivos cada uno con sus respectivos campos pero a la hora de cargar esos archivos se implementa un proceso pero yo quiero saber en caso de que se pueda como hacer que se genere una estructura en tiempo pensé en modificar el código y compilarlo de nuevo en un archivo .h aparte pero es algo tedioso y depende el compilador pero quisiera saber otra forma

Tambien otra forma seria generar espacio dinámico y generar las variables y guardarlas ahi pero los datos estarían dispersos y no seria eficiente.

O ir por archivo y generar busquedas por el archivo creo que es la mejor pero quiero saber si se puede generar una estructura de datos(Registro en tiempo de ejecucion) y guardar los datos al comenzar el programa y que los reconozca gracias

amchacon

No me he enterado de nada  :huh:

Guardar, se puede guardar las variables en un archivo y cargarlas luego. Si mantienes un orden al guardarlas/cargarlas no hay problema alguno.
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

Redisteon

Si exacto ya lo se pero hay un pequeño problema.

Si pero un ejemplo una base de datos cuando guardas la información la tienes de una manera en si la tratas de una manera como variable o estructura  pero cuando la cargas la tratas como variable como la puedo tratar como una estructura esa es mi pregunta si se puede manejar como estructura después de cargar la información suponiendo que se pueden añadir mas estructuras (registros)

Por ejemplo un programa tiene una estructura alumno con 3 campos y tiene la posibilidad de anexar mas registros por ejemplo otro biblioteca 4 campos
la primera vez tiene en su código la estructura alumno cuando guarda y carga la información del archivo alumno (suponiendo que cada registro se almacena en un archivo diferente) el programa la reconoce pero después de ejecutar de nuevo el programa se crea otra estructura o registro biblioteca con 3 campos pone la cabecera del archivo sus campos, tipo de archivo, tamaño, y sus registros o datos cuando vuelve a cargar el programa debe cargar los datos de los 2 archivos estudiante y biblioteca pero al principio tenia la estructura del estudiante pero no la de biblioteca y al cargarla se necesita reservar memoria para almacenar información pero esa información hace que se maneje como variables independientes como puedo hacer o que tengo que hacer en caso de que se pueda tratar esa información como estructura o un conjunto.

eferion

Una estructura:


struct test
{
  int numero;
  char dato;
};


Puedes manejarla como información binaria pura ( no recomendado si se va a intercambiar información entre diferentes plataformas )


struct test estructura;

// ...

char* buffer = (char*)&estructura;


O bien puedes acceder a cada uno de sus elementos como si fuesen variables independientes:


struct test estructura;

estructura.numero = 7;
estructura.dato = 'A';

int numero = estructura.numero;
char dato = estructura.dato;


Si tienes una tabla en una base de datos para este ejemplo, lo normal sería que dicha tabla tuviese dos campos... uno tipo int y otro tipo char... al escribir en la base de datos, almacenas en el int el contenido de 'estructura.numero' y en el char el contenido de 'estructura.dato'... para leer de la base de datos... lo mismo, lo que tiene el campo int lo almacenas en estructura.numero y ...

Como ves nada del otro mundo.

amchacon

La estructuras no existen en el programa, solo son una forma de organizar variables en el codigo.

Lo que tú dices, podría intentar resolverse con polimorfismo pero creo que es más adecuado que emplees otro método más eficaz.

Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar