error de compilacion por fwrite, ¿porque ?

Iniciado por ALCales, 10 Enero 2012, 21:16 PM

0 Miembros y 1 Visitante están viendo este tema.

ALCales

Hola, estoy haciendo ejercicios simplres para repasar, y siguiendo un tuto sobre ficheros, lo hago segun indica el ejemplo, pero al compilar da error en la sentencia que sale el fwrite para guardar una estructura en un fichero,
aqui dejo el codigo haber si alguien me puede decir el fallo

#include<stdio.h>

struct {
    char nombre[20];
    char apellido[10];
    char telefono[15];

}registro;

int main()
{
    FILE *fichero;
    fichero=fopen("nombres.txt","a");
    do{
        printf("nombre: ");
        fflush(stdout);
        gets(registro.nombre);
        if(strcmp(registro.nombre,""))
        {
            printf("apellido: ");
            fflush(stdout);
            gets(registro.apellido);
            printf("telf: ");
            fflush(stdout);
            gets(registro.telefono);
            fwrite(registro, sizeof (registro) , 1, fichero);
           
        }
    }while(strcmp(registro.nombre,"")!=0);
    fclose(fichero);
}

Saludos y gracias!

Eternal Idol

http://www.cplusplus.com/reference/clibrary/cstdio/fwrite/

.cpp(26) : error C2172: 'fwrite' : el parámetro real no es un puntero : parámetro 1
fwrite(registro, sizeof (registro) , 1, fichero);

Tenes que pasarle la direccion de la variable registro (con el ampersand: &).
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

ALCales

justo venia a poner que ya sabia donde estaba le fallo, en el tuto que seguia esque estaba mal  y ya me estaba yo rayando mucho xD
muchas gracias por contestar!

Eternal Idol

La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón