rss
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

[C] conversion type string -> double

Posté par lostprophet, le lundi 9 octobre 2006 à 01:08:32
Bonjour,

je suis en train de programmer en langage C une fonction qui permet de lir un fichier .txt dont les lignes ressemblent a ca

1 3.058664433E-019 1.294707223E-003 -7.475013088E-004
2 3.00 ... . . . . . . ............................................................­..

donc j'arrive bien a recuperer le 1 dans un tableau, le 3.058664433E-019, etc... mais comme j'utilise la fonction scanf, il s'agit de chaines de caractere et je n' arrive pas a convertir le 3.058664433E-019 en double...

meme avec la fonction atoi ca ne fonctionne pas ...

quelqu'un a une idee ?
Répondre à lostprophet  Signaler ce message aux modérateurs Aller au dernier message

1


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
cataclypse, le lundi 9 octobre 2006 à 09:32:46
Salut,

je pense que tu devrais aller revoir la documentation de scanf... Cette fonction ne renvoie pas que des chaines de caracteres.

par exemple:

int x;
scanf(" %d", &x);


permet de lire x sur l'entrée standard et de l'interpréter comme un entier.

Je te laisse retrouver comment on fait si x est un double ;-)
Répondre à cataclypse

2


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
fadi, le lundi 10 décembre 2007 à 15:14:36
je pense que tu devrais aller revoir la documentation de scanf... Cette fonction ne renvoie pas que des chaines de caracteres.

par exemple:


int x;
scanf(" %d", &x);


permet de lire x sur l'entrée standard et de l'interpréter comme un entier.

Je te laisse retrouver comment on fait si x est un double ;-)
Répondre à fadi

3


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
dubcek, le mardi 11 décembre 2007 à 12:05:00
ou voir sscanf
int sscanf(const char *str, const char *format, ...);
sscanf reads its input from the character string pointed to by str
Répondre à dubcek

4


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
Char Snipeur, le mardi 11 décembre 2007 à 14:53:03
double num2str(char *c)//capable de lire toute les valeurs !
       {
       int i=0,v=1,j=1;
       int signe=1;
       if (c[0]=='-') 
              {
              signe=-1;
              i++;
              }
       if ((47>=c[i])|(c[i]>=58)) return log(v-2);// cas de gourance ou le premier caractère n'est pas un chiffre
       double val=(c[i]-48);
       i++;
       while((47<c[i])&(c[i]<58)|c[i]=='.'|c[i]=='e')
           {
           if (c[i]=='e')
                      {
                      char *f=new char;
                      for (int j=0;j<6;j++)
                      f[j]=c[i+j+1];
                      return signe*val*pow(10,num2str(f));
                      }
           if ((c[i]!='.')&v)
              {
              val*=10;
              val+=(c[i]-48);
              i++;
              }
           else
            if (c[i]!='.')
               {
               val+=(c[i]-48)/pow(double(10),double(j));
               i++;
               j++;
               }
            else
               {i++;v=0;}
           }
       return signe*val;
       }
tu peux remplacer le 'e' par 'E' pour ton problème
Salutation ! Quand on sait pas, on touche pas !JBT
Char Snipeur
Répondre à Char Snipeur

5


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
MRextra, le jeudi 27 décembre 2007 à 22:22:33
met le contenu du fichier dans une chaine de caracteres ensuite appel la fonction ATOD (from ASCII TO Double) cherche sur cette voie
Répondre à MRextra

6


  • Ce message vous semble utile, votez !
  • Signaler ce message aux modérateurs
 reginfo@cubba.com, le dimanche 4 mai 2008 à 22:45:38
salut a tous comment je peu savoir si en caractere est un entier ou pas?
Répondre à reginfo@cubba.com
Logiciels pertinents trouvés dans les téléchargements
Télécharger Sound Convert Tool 2.0Sound Convert Tool - Sound Convert Tool est un petit outil très simple permettant de convertir des fichiers au format ACT, REC ou RCD vers le...Catégorie: Conversion audio
Licence: Freeware/gratuit
Télécharger Free Mp3 Wma Converter 2.0Free Mp3 Wma Converter - Free Mp3 Wma Converter permet de convertir tout vos fichiers Mp3 , Wma , Ogg , AAC , m4a , mp4 , Ape , flac, Wav : ...Catégorie: Conversion
Licence: Freeware/gratuit
Télécharger AMV Convert Tool 3.68AMV Convert Tool - Le package MP3 Player Utilities contient notamment un lecteur permettant de lire les fichiers au format AMV ainsi qu'un...Catégorie: Edition vidéo
Licence: Freeware/gratuit
Télécharger Mobile 3GP Converter 1.0Mobile 3GP Converter - Le programme "Mobile 3GP Converter" permet de convertir des fichiers au format 3GP (extension *.3gp ou *.3g2) vers un...Catégorie: Edition vidéo
Licence: Freeware/gratuit
Plus de logiciels gratuits sur « [C] conversion type string > double »