Hola, estoy intentando escribir en un archivo de texto datos con la siguiente funcion:
void insertarDatos(FILE *Fichero,tipoAlumno alumno[NALUMNOS],int contador,int vectorAsig[NALUMNOS]){
int i;
int j;
Fichero
=fopen("fichero.txt","w+");
if(Fichero==NULL){
printf("\nFichero no existe!\nPor favor creelo");
return;
}
for(i=0;i<contador;i++){
fwrite(alumno
[i
].
nombre,sizeof(char),sizeof(alumno.
nombre),Fichero
); fwrite(alumno
[i
].
identificador,sizeof(char),sizeof(alumno.
identificador),Fichero
); fwrite(alumno
[i
].
curso,sizeof(int),1,Fichero
);
}
}
El caso es que, al usar fwrite las dos primeras lineas, con datos de tipo char, no hay ningun problema, y en el fichero se me guardan los datos, pero cuando llega al fwrite donde hay un entero, al compilar me da el warning:
warning: passing argument 1 of 'fwrite' makes pointer from integer without a cast [-Wint-conversion]
y no se muy bien lo que quiere decir. He intentado probar con la linea:
fwrite(&alumno
[i
].
curso,sizeof(int),1,Fichero
);
pero me escribe caracteres aleatorios en el fichero. ¿Podrían ayudarme? Gracias