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

  FORUM HardWare.fr
  Programmation
  C

  problème de récupération de données

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

problème de récupération de données

n°1353051
hobean
Posté le 24-04-2006 à 19:57:13  profilanswer
 

Salut,
j'ai créé une interface graphique avec Glade et Devcpp, j'ai un bonton ouvrir qui me permet de choisir des fichiers sources, et les fichiers selectionnés sont affichés dans un treeview. Puis a partir du chemin j'ouvre les fichiers avec fopen et j'affecte les données à des tableaux de valeurs avec fscanf.
Le code sera plus explicite.
 
void
on_button_select_file_ok_clicked              (GtkButton       *button,
                                              gpointer         user_data)
{
                 
 GtkWidget *filechooser;
 GtkWidget *treeview;
 GSList *file;
 gint i;
 GtkListStore *store;
 GtkTreeIter iter;
 char chaine[8];
 
 filechooser = (GtkWidget *)lookup_widget(GTK_WIDGET(button),"filechooserdialog" );
 treeview    = (GtkWidget *)lookup_widget(GTK_WIDGET (window_main),"treeview" );
 
 file_list =  gtk_file_chooser_get_filenames  (GTK_FILE_CHOOSER(filechooser));
 
 file =  file_list;
 
 /* create list store */
 
 store = gtk_list_store_new (NFILE_COLUMNS,G_TYPE_INT,G_TYPE_STRING);
 
 nb_of_file = g_slist_length(file_list);
 cur_file_num = 0;
 
 /* add data to the list store */
 for (i = 0; i < nb_of_file; i++)
   {
     gtk_list_store_append (store, &iter);
     gtk_list_store_set (store, &iter,
             FILE_NUM,i+1,                               /* column 0 */
            FILE_NAME,g_slist_nth_data(file_list,i),    /* column 1 */
           -1);
           printf("fichier chemin %s \n",g_slist_nth_data(file_list,i));
   }
 
 gtk_tree_view_set_model(GTK_TREE_VIEW(treeview),GTK_TREE_MODEL(store));
 g_object_unref (G_OBJECT (store));
 gtk_widget_hide( filechooser );
}
 
 
 
void fraction_masse_brulee(GtkWidget *widget)
{
     
    for(f=0;f<nb_of_file;f++)
    {
    fp[f]=fopen(g_slist_nth_data(file_list,f),"rt" );
    }
     
  for(f=0;f<nb_of_file;f++)
{
  for(n=0;n<20001;n++)
   {
   fscanf(fp[f],"%f\t%f\t%f\t%*f\t%*f\t%f\n",&t[f][n],&p[f][n],&TTL[f][n],&x[f][n]);
   }
fclose(fp[f]);
}
 printf("%f\t%f\t%f\t%f\n",t[1][0],&p[1][0],&TTL[1][0],x[1][0]);  
}
 
exemple de fichiers sources :
-100.00 2.000000 0.000000 15.106800 0.054425 21.636970065000
-99.99 2.000000 0.000000 15.112530 0.042970 21.638542905000
-99.98 2.000000 0.000000 15.108365 0.042445 21.636314715000
-99.97 2.000000 0.000000 15.124510 0.039320 21.635397225000
-99.96 2.000000 0.000000 15.122425 0.055990 21.638870580000
-99.95 2.000000 0.000000 15.122945 0.054945 21.634414200000
-99.94 2.000000 0.000000 15.119300 0.059115 21.636314715000
-99.93 2.000000 0.000000 15.120340 0.054425 21.634414200000
 
 
 
donc lorsque je lui demande d'achiffer la premiere ligne de ce fichier par exemple, le programme donne -100.00   0.0000   0.0000  0.0000  
en gros il n'affiche pas les autres valeurs demandées de plus si je remplace  -100.00 dans le fichier à lire par -100.15, le programme affiche toujours -100.00 pourtant tous les tableaux, tableaux de pointeurs et variables sont en float.
Si quelqu'un peut m'aider
Merci
 

mood
Publicité
Posté le 24-04-2006 à 19:57:13  profilanswer
 

n°1353841
hobean
Posté le 25-04-2006 à 19:23:08  profilanswer
 

je me suis apercu que si les points étaient remplacés par des virgules les tableaux contenaient les valeurs souhaitées. Je ne comprends pas car le programme fonctionnait correctement sans l'interface. De plus mes fichiers sources contiennent 50000 itérations, il n'est pas possible de remplacer tous les points par des virgules .
Comment faire ?

n°1353878
gatsu35
Blablaté par Harko
Posté le 25-04-2006 à 20:25:57  profilanswer
 

ce n'est pas possible pour toi de passer par une variable intermediaire et de convertir ton string en float, car ce que tu récupère c'est du string, qu'il faut convertir en float :o
passe par un tableau intermediaire plutôt :o

n°1353880
gatsu35
Blablaté par Harko
Posté le 25-04-2006 à 20:28:02  profilanswer
 
n°1353901
gatsu35
Blablaté par Harko
Posté le 25-04-2006 à 20:56:12  profilanswer
 

http://img199.imageshack.us/img199/374/cpournuls5jc.jpg

n°1354071
hobean
Posté le 26-04-2006 à 09:50:48  profilanswer
 

Et donc ca donnerait quoi dans la fonction void fraction_masse_brulee(GtkWidget *widget), car je suis un peu perdu.
MErci de votre aide.


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

  problème de récupération de données

 

Sujets relatifs
problème de copie de structureLiens entre Base de données
probleme d extensions sur upload de fichierproblème exit /b
Problème avec IE, (plantage complet sur mon site)problème page html avecMyeclipse
Problème de bordure de tableau CSS sous Internet ExplorerProbleme Recuperation donnees Textarea d'un formulaire avec split
Probleme de récupération de données de formulairegors problème de récupération de données, URGENT
Plus de sujets relatifs à : problème de récupération de données


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