• Viernes 19 de Abril de 2024, 22:55

Autor Tema:  Estructuras y archivos.  (Leído 846 veces)

jorge2135

  • Nuevo Miembro
  • *
  • Mensajes: 1
    • Ver Perfil
Estructuras y archivos.
« en: Domingo 16 de Mayo de 2010, 03:57 »
0
Bueno este es mi problema, quiero guardar una estructura con todos sus datos en un archivo txt.

Este es el codigo:
#include<stdio.h>
#include<conio.h>


struct hola{
       int edad;
       char nombre[21];
       }datos[5];
       
main(){
       int as=0;
       
       for(as=0; as<2; as++){
       printf("Dame tu nombre: ");
       fflush(stdin);
       gets(datos[as].nombre);
       
       printf("Dame tu edad: ");
       scanf("%d",&datos[as].edad);
       }
       
       for(as=0; as<2; as++){
       printf("n");
       printf("%s",datos[as].nombre);
       printf("n");
       printf("%d",datos[as].edad);
       }
       getch();
       }

soy un principiante en C++ y necesito ayuda, ya he buscado pero simpre que encuentro son respuestas muy dificiles de entender y programas muy abstractos para mi, como ven mi programa es muy sencillo, y cualquiera lo puede entender, por favor un experto en c++ que me ayude.
Uso Dev-c++ 4.9

czealt

  • Miembro activo
  • **
  • Mensajes: 28
    • Ver Perfil
Re: Estructuras y archivos.
« Respuesta #1 en: Martes 8 de Junio de 2010, 07:46 »
0
Para manejar archivos debes utilizar la estructura FILE que esta declarada en stdio.h junto con sus funciones asociadas.
Ejemplo:

Código: C
  1.  
  2. #include <stdio.h>
  3.  
  4. struct hola{
  5.     int edad;
  6.     char nombre[21];
  7. }datos[5];
  8.  
  9. //...
  10. main()
  11. {
  12.     struct hola regdatos;
  13.     FILE *pfile = fopen("amigos.dat","wb"); /* Aqui amigos.dat es el nombre del archivo y wb es el modo de apertura.  w porque se abre para escritura y b porque se escribiran datos binarios */
  14.     //....
  15.     // en este punto se supone que regdatos contiene los datos a ser almacenados
  16.     fwrite(&regdatos, sizeof(struct hola), 1, pfile); /* Con esta llamada a fwrite() se escribe el contenido de regdatos en  el archivo. El primer parametro es un puntero al dato a ser almacenado,  el segundo parametro es el tamaño en bytes del dato, el tercero es la  cantidad de elementos de datos a almacenar y el ultimo parametro es  el puntero al archivo. */
  17.  
  18.     //....
  19.    
  20.     fclose(pfile);  // Cierra el archivo abierto con fopen()
  21. }
  22.  
  23.  

Saludos :good: