Ver Mensaje Individual
  #1 (permalink)  
Antiguo 08/12/2014, 01:17
Avatar de AgusC
AgusC
 
Fecha de Ingreso: diciembre-2014
Ubicación: Buenos Aires
Mensajes: 1
Antigüedad: 9 años, 4 meses
Puntos: 0
Problema con datos flotantes en archivos

Buenas, soy nuevo en el foro, tengo un problema (en realidad varios) con el ingreso de datos flotantes a un archivo. Puedo ingresar enteros, char y strings pero al ingresar el flotante me pone 0.00.

Uso struct para declarar todos los tipos de datos, este es el pedazo de codigo que uso para ingresarlos al archivo

pArchivo=fopen("productos.dat","w");
if(pArchivo!=NULL){
printf("Ingrese numero de articulo\n");
scanf("%d",&prod.art);
fflush(stdin);
while(prod.art!=0){
printf("Ingrese categoria\n");
scanf("%c",&prod.cat);
fflush(stdin);
printf("Ingrese marca\n");
scanf("%s",prod.marca);
fflush(stdin);
printf("Ingrese descripcion\n");
scanf("%s",prod.des);
fflush(stdin);
printf("Ingrese precio\n");
scanf("%.2f",&prod.precio);
fflush(stdin);
fprintf(pArchivo,"%d\t%c\t%s\t%s\t%.2f\n",prod.art ,prod.cat,prod.marca,prod.des,prod.precio);
printf("Ingrese numero de articulo\n");
scanf("%d",&prod.art);
fflush(stdin);
}

fclose(pArchivo);
}
return 0;

Como dije, todos los datos ingresan correctamente, menos el flotante. ¿Que estoy haciendo mal?

Y otra pregunta, ¿tengo que hacer algo diferente para escribir el archivo en binario ? (aparte de poner "wb")

Gracias!