Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Archivos y función fwrite.

Estas en el tema de Archivos y función fwrite. en el foro de C/C++ en Foros del Web. Buenas a todos, tengo un grave incoveniente a la hora de escribir datos en un archivo, lo que quiero hacer es escribir en el archivo, ...
  #1 (permalink)  
Antiguo 28/09/2014, 08:22
Avatar de Swastik  
Fecha de Ingreso: noviembre-2013
Mensajes: 9
Antigüedad: 10 años, 4 meses
Puntos: 1
Archivos y función fwrite.

Buenas a todos, tengo un grave incoveniente a la hora de escribir datos en un archivo, lo que quiero hacer es escribir en el archivo, o sea que se me guarde los elementos que voy metiendo en el árbol para su uso posterior.

les dejo un trozo del codigo

Mi estructura:

Código C:
Ver original
  1. typedef struct nodoarbol
  2. {                                                    //ESTRUCTURA DEL ARBOL
  3.     struct nodoarbol *izq,*der;
  4.     char titulo_pelicula[40];
  5.     char genero_pelicula[20];
  6.     int      codigo_pelicula;
  7.    
  8.     }NODO;
  9.                                                  //DEFINICION DE TIPO NODO
  10. typedef NODO *ARBOL;


mi main
Código C:
Ver original
  1. main()
  2. {
  3.       FILE *VIDEOTECA;
  4.       ARBOL raiz=NULL;
  5.      
  6.       struct nodoarbol X;
  7.      
  8.       int cod,numero,opc,elim;
  9.       char titulo[40];
  10.       char genero[20];
  11.      
  12.      
  13.       if ((VIDEOTECA=fopen(ARCHIVO,"rb+"))==NULL)
  14.       if ((VIDEOTECA=fopen(ARCHIVO,"wb+"))==NULL)
  15.         {
  16.             printf("No se pudo abrir el archivo");
  17.         //exit(1);
  18.         }
  19.      
  20.       while(opc!=2)
  21.    {
  22.        printf("\n\t\t\tMENU PRINCIPAL\n\n\n");
  23.        printf("\t 1. INTRODUCIR VALORES\n");
  24.        
  25.        scanf("%d", &opc);  
  26.        
  27.          switch(opc)
  28.          {
  29.             case 1:
  30.                     do{                
  31.                         printf("\nIngrese el codigo:\n");
  32.                         scanf("%d",&cod);
  33.                         printf("\nIngrese el titulo:\n");
  34.                         scanf("%s",titulo);
  35.                         printf("\nIngrese el genero:\n");
  36.                         scanf("%s",genero);
  37.                         insertanodonuevo(&raiz,cod,titulo,genero);
  38.                         fwrite(&X,sizeof(X),1,VIDEOTECA);
  39.                     }while((getche())!='S');
  40.  
  41.     }


1.La funcion fwrite estaría bien puesta en esa posición para guardar el archivo?
2.Los parametros que le paso a fwrite serian los correctos?



siguiendo una guía de archivos he visto que ponen en caso de una estructura, y le mandan los siguientes parámetros a fwrite:

Código C:
Ver original
  1. struct A{
  2.         char nombre[10];
  3.         int edad;
  4.     };
  5.  
  6. main()
  7. {
  8.     FILE  *bin;
  9.     struct A pers;
  10.    
  11.        fwrite(&pers,sizeof(pers),1,bin);

He intentado guiarme según esa muestra pero no me funciona
cualquier sugerencia/ayuda es bien recibida
saludos
  #2 (permalink)  
Antiguo 28/09/2014, 09:51
Avatar de Drewermerc  
Fecha de Ingreso: febrero-2014
Mensajes: 185
Antigüedad: 10 años, 2 meses
Puntos: 5
Respuesta: Archivos y función fwrite.

Hola amigo.
Bueno sobre tu problema de fwrite eso es por que tu le quiere pasar una estructura completa y fwrite solo acepta un puntero y lo que tiene que hacer es pesarle un miembro de la estructura algo así.
Código C:
Ver original
  1. fwrite(&X.genero.pelicula,sizeof(X.genero_pelicula),1,VIDEOTECA);

Espero te sirva.
Saludos.
Drewermerc.

Etiquetas: funcion, int
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 07:20.