fscanf d'entrée avec des flotteurs
Je suis en train de lire à partir d'un fichier texte qui contient:
Mary 55334422 24.90 56.6 45.68
et je suis de lecture:
....char name[20]; int num; double worked; double rate; double total;....
fscanf(fp, "%s %d %f %f %f\n", name, &num, &worked, &rate, &total);
Je reçois le nom et l'entier fine, mais des nombres en virgule flottante sortir quelque chose comme -9522999990000000000000000000.00
Je fais quelque chose de mal ici?
OriginalL'auteur rach | 2011-03-02
Vous devez vous connecter pour publier un commentaire.
Vous devez utiliser le format pour un double:
%lf
, plutôt que pour un float%f
... ou de changer de flotteurs au lieu de doubles.OriginalL'auteur martin clayton
Essayer
lf
au lieu def
à analyser en double variables:OriginalL'auteur Pablo Santa Cruz
Changement de vos doubles de flotteurs ou de modifier le format de %lf
OriginalL'auteur Erik