Hola quiero crear un archivo y cargarlo a partir de una estructura. Crear el archivo creo que lo hago bien pero el problema es que no se como se carga los datos
Para empezar, tendrías que decidir con qué estructura guardar la estructura. Por ejemplo, podría ser la siguiente:
Código:
3456566 Perez Alex H 3/7/1995 54.0
6588678 Fernandez Pablo H 7/12/1997 56.0
...
Para ello, solo tendrías que hacer fprintf(fpTex, /*fecha, nombre, y todo lo demás*/);
O podrías guardar la estructura tal y como viene representada en memoria.
Sabiendo que puedes representar la dirección a una estructura como cadena de caracteres (char *), sabiendo que existe la función fwrite, y sabiendo que para usar fwrite lo más recomendable es abrir el archivo en binario, puedes hacer la tarea con un par de funciones
En línea
Programador aficionado. Me quiero centrar en programar videojuegos. La API que uso para crearlos es OpenGL
Hola, muchas gracias por contestar. ¿lo que vos me estas diciendo no es hardcodearlo? No se si me explique bien pero lo que quiero es que el programa me pida los datos, que los cargue y yo despues abriendo el .txt los pueda ver ¿El fprintf tendria que ir adentro del for y hacerse cada vez que ingreso el lote de una persona, no? Muchas gracias de nuevo
Puedes guardar la estructura completa o dato por dato
Como te dicen tienes que decidir como hacerlo si quieres guardar toda la memoria donde se almacena la estructura en formato binario o hacerlo dato por dato en texto plano.
Te dejo uno de mis vídeos donde muestro como hacerlo con fwrite
« Última modificación: 26 Mayo 2016, 17:00 pm por AlbertoBSD »
Hola, gracias por contestar! Tu video es genial me aclaro muchas dudas solo me quedaron dos: en el video el archivo es .db y en el modo le pusiste solo w sino me acuerdo mal asi se crea un archivo en formato texto ¿por que en vez de .db no pusiste .txt y lo abrias con un editor de texto? Y la segunda ¿si yo lo quiero almacenar en texto plano cada vez que ingrese un lote de datos de una persona se va al archivo y se graba por cada persona y en el binario me permite ingresar diez lotes y se guarda solamente al final una sola vez?
La extensión del archivo es independiente de lo que le guardes
Me refiero puede ser un archivo TXT pero puede tener datos binaros, Lo ideal es que txt sea texto plano y nada de binario pero de poder se puede...
Ahora Sobre lo de guardar registros de uno en uno o todos al final es tu eleccion mientras lo hagas correctamente.
Por ejemplo abres el archivo antes del for o while y posteriormente dentro del ciclo agregas registros de uno en uno al archivo despues de capturarlos desde el teclado.
O puedes escribirlos al final Es independiente... y lo repito es tu eleccion como mejor se te acomode.
Lo unico que cambiaria es el numero de elementos a escribir en el fwrite. y para leerlo necesitas fread El cual es para formato Binario.....
Si queires que se vea en texto plano tienes que usar fprintf y los formatos de cadena adecuados para cada tipo de dato y posteriormente para leer el archivo necesitas fscanf.