Programación General > C/C++

 Como guardo en archivo de texto

(1/3) > >>

nicksynm:
Holas,[*]

Estoy elaborando un tp sobre una clinica de animales. El cual lo tengo casi todo completo menos la funcion consultas:
 
En la cual tengo que crear varios archivos de texto , por cada consulta que tenga cada animal, es decir, si un mismo animal hace tres consultas creo 3 archivos de texto con los datos de la consulta. el nombre del archivo tiene que ser asi "xxxx1co"hora""   (xxxx1 Identificador del animal, co consultas, hora de hora), esto no es mi problema lo hago con cadena=sprintf, mi problema es que no se como se guarda una estructura en un archivo de texto, la verdad no tengo la menor idea, me gustaria saber si me podrian ayudar, o por lo menos darme una idea de comandos utilizar.


--- Código: C ---Esta es la estructura que debo guardar en el archivo: typedef struct {      char motivo[MIX];      char diagnostico[MAX];      char tratamiento[MAX];      char veterinario[MIX];      struct{          int aa, mm, dd;      }fechacontrol;  }sconsulta; 

ProfesorX:
Puedes usar las funciones de C fopen(), fclose() y fprintf(), abre el archivo como texto con fopen(), y en la funcion fprintf separa tus argumentos con comas, y agrega un n al final de fprintf para que cada registro te quede en una linea algo mas o menos asi:


--- Código: C ---     fprintf(miarchivo, "%s,%s,%,%s,%s,%d,%d,%dn",         consulta.motivo, consulta.diagnostico, consulta.tratamiento,         consulta.veterinario, consulta.fechacontrol.aa,         consulta.fechacontrol.mm, consulta.fechacontrol.dd);  
Cuando termines usas fclose() para cerrar tu archivo.

Saludos y suerte :)

nicksynm:
Se abrir el archivo y tambien cerrarlo, pensaba usar el sprintf para asignarle el nombre al archivo. Tambien lo puedo usar para guardar datos en el mismo?.

ProfesorX:

--- Cita de: "nicksynm" ---Se abrir el archivo y tambien cerrarlo, pensaba usar el sprintf para asignarle el nombre al archivo. Tambien lo puedo usar para guardar datos en el mismo?.
--- Fin de la cita ---

No, para guardar datos usa  fprintf como te mencione arriba, no sprintf. Es casi igual que todos los printf, pero en lugar de enviar los resultados a pantalla (printf) o a una cadena, (sprintf) te los manda a un archivo.
Saludos :)

nicksynm:
Tenes razon, habia leido mal, gracias. Pruebo y te comento.

Navegación

[0] Índice de Mensajes

[#] Página Siguiente

Ir a la versión completa