Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
807 connectés 

  FORUM HardWare.fr
  Programmation
  C

  lire un nombre en notation scientifique dans un fichier

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

lire un nombre en notation scientifique dans un fichier

n°1911182
Duc_onlajo​y
Posté le 03-08-2009 à 11:54:02  profilanswer
 

Bonjour
 
Je fait appel à vous car je n'arrive pas à lire un nombre dans un fichier :??: . Je m'explique :  
 
Le fichier contient des lignes de cette façon (X,Y,Z et poids) :  


307.20      292.80      0.00      4.93E-06


 
Donc j'ouvre mon fichier avec un fopen puis je lis chaque ligne avec un :

Code :
  1. fscanf(pfResultats,"%f\t%f\%f\t%f;",&fPositionX, &fPositionY, &fPositionZ, &fPoids);


 
Seulement voilà : si X, Y et Z sont bien reconnu le poids, à cause de la notation scientifique n'est pas reconnu!
Comment puis-je faire pour arriver à lire cette quatrième colonne?  
 
Merci de votre aide. :jap:  
 
Cordialement

mood
Publicité
Posté le 03-08-2009 à 11:54:02  profilanswer
 

n°1911220
Joel F
Real men use unique_ptr
Posté le 03-08-2009 à 13:34:10  profilanswer
 

%e de tête

n°1911235
Taz
bisounours-codeur
Posté le 03-08-2009 à 14:05:53  profilanswer
 

C'est équivalent. Tu un problème ailleurs.
 

Code :
  1. #include <stdio.h>
  2. int main(int argc, char** argv)
  3. {
  4.         int i;
  5.         for (i = 1; i < argc; ++i) {
  6.                 float f;
  7.                 if (sscanf(argv[i], "%e", &f) == 1) {
  8.                         printf("%s -> %f\n", argv[i], f);
  9.                 }
  10.         }
  11.         return 0;
  12. }


 

$ ./a.out 307.20      292.80      0.00      4.93E-06
307.20 -> 307.200012
292.80 -> 292.799988
0.00 -> 0.000000
4.93E-06 -> 0.000005

n°1911248
Duc_onlajo​y
Posté le 03-08-2009 à 14:21:17  profilanswer
 

En effet, ça marche.
 
Merci pour tout

n°1911254
Taz
bisounours-codeur
Posté le 03-08-2009 à 14:28:43  profilanswer
 

Nan mais justement, je voulais dire que %f ou %e, ça lit pareil.

n°1911264
Duc_onlajo​y
Posté le 03-08-2009 à 14:34:12  profilanswer
 

En effet, mon erreur devait venir d'ailleurs car maintenant (après quelques modifications) que je mette %e ou %f ça marche! :??: .
 
Ayant trifouillé un peu n'importe comment dans le code je ne saurais pas vous dire ce que j'ai changé pour que ça marche. Mais merci pour vos réponses (en plus je connaissais pas le %e)

n°1911281
Un Program​meur
Posté le 03-08-2009 à 14:44:16  profilanswer
 

Taz a écrit :

Nan mais justement, je voulais dire que %f ou %e, ça lit pareil.

 

De meme que @g, %E et %F.  Pour des doubles il faut les formes avec l (tandis que pour printf, il y a une difference entre les %e, %E, %f, %g et %G mais que les formes avec l sont equivalentes aux formes sans).


Message édité par Un Programmeur le 03-08-2009 à 14:44:26

---------------
The truth is rarely pure and never simple (Oscar Wilde)
n°1911423
Taz
bisounours-codeur
Posté le 03-08-2009 à 21:16:06  profilanswer
 

Regarde bien le retour de *scanf dans tous les cas.

n°1911447
Turkleton
I don't quite understand you
Posté le 03-08-2009 à 23:48:07  profilanswer
 

Duc_onlajoy a écrit :


Code :
  1. fscanf(pfResultats,"%f\t%f\t%f\t%f;",&fPositionX, &fPositionY, &fPositionZ, &fPoids);




Pas sûr que ça change grand chose, mais il manque le "t" en gras


---------------
If you think it could look good, then I guess it should

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C

  lire un nombre en notation scientifique dans un fichier

 

Sujets relatifs
Récupérer nombre dans un tableauConvertir le résultat d'une requête SQL en fichier excel
Lire donnée dans une base avec mysql[Android] Enregistrement fichier xml
[RESOLU] erreur pendant le chargement un fichier XMLCorruption de fichier .rar dans MySQL help!
[VBS] Extraire valeur champ fichier texte[batch] Extraire valeur champ fichier texte
Mettre le contenu interpretté d'un fichier php dans une variableCréation de dll et fichier .def
Plus de sujets relatifs à : lire un nombre en notation scientifique dans un fichier


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR