Título: Archivo de Estructuras en C Publicado por: uNolex1 en 1 Octubre 2014, 00:50 am Saludos! quisiera saber como guardar estructuras en un archivo de texto plano, para luego cargarlas al momento que se ejecute mi programa y que este archivo se vaya sobrescribiendo en base a lo que modifique en mi programa. De antemano muchas gracias ;D
Título: Re: Archivo de Estructuras en C Publicado por: avesudra en 1 Octubre 2014, 00:59 am Mírate la entrada y salida de ficheros en C/C++ , luego solo es una función para escribir y otra para leer, y si acaso una para modificar. Intentalo y si no te sale nosotros te ayudaremos encantados.
Saludos. Título: Re: Archivo de Estructuras en C Publicado por: uNolex1 en 1 Octubre 2014, 19:09 pm He intentado hacer mi función guardar pero no me guarda lo que quiero guardar, por ejemplo en mi programa puedo crear cibercafes con una dirección un precio (por min de internet), etc mi funcion de prueba seria esta para guardar en un archivo "cibercafes" solo la dirección de un cibercafe creado
Código: void Guardar(){ pero cuando llamo a la función guardar en el archivo aparece solo "Dirección:" y no el nombre que le puse :-\ Edit: ya vi el problema le estoy pidiendo al usuario que ingrese los datos, como hago para que los datos que están se guarden automáticamente mientras el programa esta corriendo? Título: Re: Archivo de Estructuras en C Publicado por: avesudra en 1 Octubre 2014, 23:24 pm Hola buenas noches, no estaría de más que pusieses tu estructura cibercafes para saber cómo es y ayudarte mejor. Es evidente que si no ingresas ningún dato ni pasas ningún dato a la función te va a guardar un hueco en blanco.
Puedes ir pidiendo en un while o en un for los datos de las estructuras hasta que el usuario quiera parar y mientras los vas guardando con lo que has puesto. A ver si puedo dar ahora algo más que palabras. Puedo darte este ejemplo, pero la función de leer la intentas hacer tú: Código Saludos. Título: Re: Archivo de Estructuras en C Publicado por: uNolex1 en 2 Octubre 2014, 05:30 am Edit: ese código era obsoleto por eso lo borre
Título: Re: Archivo de Estructuras en C Publicado por: avesudra en 2 Octubre 2014, 19:14 pm Buenas tardes uNolex1, veo que tienes un poco de problema a la hora de comprender la programación estructurada y quizás por eso tu programa, a pesar de tus intentos, no hace lo que te propones. Yo quiero que aprendas bien así que si no te importa no te voy a dar código (cosa que además está un poco penado aquí) , simplemente las pautas, y ya si te atascas un poco te echo una mano.
Un consejito, cuando pongas código, en el editor de mensaje hay algo en lo que pone GeSHi elige C y entre los corchetes pones tu código, es para resaltar la sintaxis de tu código en C y en varios lenguajes de programación. Vamos a ver, tu quieres guardar una estructura ¿no? Sí, bien, pues entonces tu creas el puntero y le das un espacio en memoria ¡Pero no puedes guardar la estructura inmediatamente después sin pedir los datos! En ese caso la estructura estará vacía y no te quedará nada en el archivo a pesar de que tu función para guardar la estructura está bien ¡pero la estructura está completamente vacía! En ese caso ¿qué debes hacer para guardar la estructura? Pasos:
No hay más, puedo intentar explicartelo de otra manera si no lo comprendes, y en el caso más extremo te daré un poquito de código a ver si así lo vas comprendiendo ¿va? PD: Un consejo, haz un pequeño programa de prueba guardando una estructura sencilla, una vez comprendas como hacerlo con una y entiendas la dinámica entonces atrévete a poner más de una. Un cordial saludo. Título: Re: Archivo de Estructuras en C Publicado por: uNolex1 en 3 Octubre 2014, 05:35 am Tengo esto pero me tira error de segmento :/ No se si estoy bien encaminado :o
Código
Los && y @@ son mis "separadores" para saber que despues de && son datos de ciber y @@ son de PC Título: Re: Archivo de Estructuras en C Publicado por: avesudra en 3 Octubre 2014, 14:59 pm Sí, vas bien encaminado pero te falta lo que ya te dije en el mensaje anterior. ¿Cuando le pides al usuario el id del ciber por ejemplo? ¿No ves que te falta en el code? La estructura que estás escribiendo está VACÍA , tienes que rellenarla pidiendo los datos al usuario.
Para serte mas concreto, no hay ningún scanf ni nada para pedirle al usuario absolutamente ningún dato del ciber. Título: Re: Archivo de Estructuras en C Publicado por: uNolex1 en 3 Octubre 2014, 18:39 pm No es necesario el scanf eso lo escribo al ejecutar el programa, que tiene esta forma:
=~=~=~=~= Menu =~=~=~=~= 1: Abrir Cibercafe 2: Instalar Computador 3: Cerrar Cibercafe 4: Desechar Computador 5: Listar Cibercafes 6: Listar Computadores 7: Asignar Computador 8: Desocupar Computador 9: Guardar 11: Salir =~=~=~=~==~=~=~=~==~=~=~=~= Ingrese Opcion: Entonces para probar la opcion guardar abro un ciber (le asigno sus respectivos datos), luego instalo un computador en tal ciber(tambien le asigno sus datos), todos los datos los asigno cuando ejecuto el programa pero cuando doy a la opción guardar me los guarda pero queda atascado en el primer while de la funcion Guardar() ya no me da error de segmento :-\ Título: Re: Archivo de Estructuras en C Publicado por: avesudra en 3 Octubre 2014, 20:21 pm Bien, vamos a ver tú al abrir un cibercafé llamas a la función que lo crea pero esa información se pierde cuando sales de esa función, entonces luego eliges que la guarde ¡pero esa información ya no está!, estás haciendo la casa por el tejado.
Primero tienes que hacer la función que crea los cibercafés ¡pero no perder los datos! ¡En la función guardar has creado una nueva variable que es distinta a la anterior! Primero intenta no perder esa información y luego ya intentarás hacer la función de guardar. Por favor revisa los ámbitos en los que las variables son accesibles.Este enlace te servirá, habla de C++ pero en esta parte es exactamente igual que en C: http://c.conclase.net/curso/?cap=006 Un saludo. Título: Re: Archivo de Estructuras en C Publicado por: uNolex1 en 3 Octubre 2014, 23:51 pm Ya me resulto muchas gracias por la ayuda! de verdad me ha sido de mucha utilidad ;-)
|