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

  FORUM HardWare.fr
  Programmation
  C

  conversion d'un *char en flottant dans un tableau

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

conversion d'un *char en flottant dans un tableau

n°698144
lordankou
Posté le 13-04-2004 à 12:00:58  profilanswer
 

voila j'ai un *char obtenu par la fonction strtock et je voudrais le stocké dans un tableau à deux dimensions de flottant
 
pour cela j'ai utilisé différentes fonction comme :
(float)
sscanf
et le résultat est toujours une erreur (ou alors il me retourne 1.000000).
 
Quelqu'un aurait une idée de comment résoudre ce problème.
 
déclarations des variables :  
 

Code :
  1. char ligne[255]; // taille d'une ligne
  2. char* mot; // coordonnees sous forme de chaine de caractère  
  3. float tabCoordonnees[maxligne][6]; // tableau contenant les coordonnes du vecteur
  4. char* separateur = " "; // separateur pour les colonnes
  5. fgets(ligne,255, fichier) ---> utilisé dans une boucle normalement
  6. mot = strtok(ligne, separateur);

mood
Publicité
Posté le 13-04-2004 à 12:00:58  profilanswer
 

n°698154
Taz
bisounours-codeur
Posté le 13-04-2004 à 12:10:59  profilanswer
 

sscanf / strtod fonctionnent parfaitement

n°698458
lordankou
Posté le 13-04-2004 à 17:29:43  profilanswer
 

pourtant quand j'essaie j'ai droit à une erreur :  
 
  // lecture des coordonnées de chaque vecteurs  
  while (fgets(ligne,255, fichier) != NULL){
    // on incrémente le nombre de ligne parcouru
    i++;
    // on va decouper la ligne selon les espaces
    // on decoupe le premier mot -> on recupere X
    mot = strtok(ligne, separateur);
    // on decoupe la ligne selon les espaces -> on recupere Y,Z, Vx,Vy,Vz
    for (j=0; j<6; j++){
      MessageBox(NULL,mot,"affichage de mot",MB_YESNO|MB_ICONQUESTION);    
      // on enregistre la coordonnes dans un tableau
      tabCoordonnees[i][j]= sscanf(mot,"%f" );  
      MessageBox(NULL,"essaie","affichage de mot",MB_YESNO|MB_ICONQUESTION);  
      mot = strtok(NULL,separateur);
    }
  }
 
il m'affiche bien la première message box mais pas la deuxième ce qui veut donc dire qu'il y a une erreur avec sscanf
(message de windows :  Visu a rencontré un problème...)
Pourtant j'ai bien déclaré un tableau de flottant et les variables sont correctement initialisées.
quelqu'un aurait une suggestion ?

n°698462
Taz
bisounours-codeur
Posté le 13-04-2004 à 17:30:42  profilanswer
 

bah évidemment si tu lis pas la doc :o ...

n°698703
lordankou
Posté le 13-04-2004 à 23:06:16  profilanswer
 

en effet j'avais fait une connerie mais bon c'est peut être pas une raison de répondre par indice.  
je pense que les personnes qui viennent sur un forum sont pour apprendre. Certe google existe mais en général si on vient ici c qu'on a pas trouver sur google (en tout cas pour ma part c'était pour ça).
 
la réponse si ça peut servir :  
 
double tabCoordonnees[maxligne][6]; // tableau contenant les coordonnes du vecteur
const char *pos_err;
 
tabCoordonnees[i][j] = strtod(mot, &pos_err);

n°698723
Taz
bisounours-codeur
Posté le 13-04-2004 à 23:32:00  profilanswer
 

ben continue à lire la documentation et tu découvriras que tu n'a alors plus besoin de strtok si tu utilises strtod


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

  conversion d'un *char en flottant dans un tableau

 

Sujets relatifs
vider 1 tableau[PHP] Peut on passer des tableau dans $_SESSION ?
conversion des scancodesconversion string -> char *
tableau et python[HTML/PHP] Petite question de tableau plutot importante, Merci
Comment fait on pour parcourir un tableau a 2 dimensions en diagonal?imprimer tableau avec couleur de fond
passage d'un tableau php parametre à une fonction javascriptComment faire un tableau avec Tkinter ?
Plus de sujets relatifs à : conversion d'un *char en flottant dans un tableau


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