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

  FORUM HardWare.fr
  Programmation
  C

  transformer un fichier de données en tableau

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

transformer un fichier de données en tableau

n°1014335
cassiopee7​5
Posté le 16-03-2005 à 11:37:42  profilanswer
 

Coucou,
 
je debute en C. J'ai un fichier data.txt sous forme de colonnes de données et j'aimerais les transferer dans un tableau 2D. Comment faire?
merci beaucoup de m'aider!! :jap:

mood
Publicité
Posté le 16-03-2005 à 11:37:42  profilanswer
 

n°1014391
Emmanuel D​elahaye
C is a sharp tool
Posté le 16-03-2005 à 12:13:12  profilanswer
 

cassiopee75 a écrit :

Coucou,
 
je debute en C. J'ai un fichier data.txt sous forme de colonnes de données et j'aimerais les transferer dans un tableau 2D. Comment faire?
merci beaucoup de m'aider!! :jap:


C'est un peu violent si tu débutes vraiment...
 
Si le nombre d'éléments est indéterminé, il faut partir d'une tableau vide (T **) et le créer et le remplir au fur et à mesure avec malloc()...
 
Ne sachant pas ce que tu connais en C, difficile d'en dire plus... Fait de ton mieux et poste ton code.
 


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1014426
cassiopee7​5
Posté le 16-03-2005 à 12:58:02  profilanswer
 

quand je dis que je debute, c'est pour dire que je ne suis pas une pro du C bien que je programme en C.  
 
En fait, mon probleme, c'est quelle fonction utiliser pour lire mon fichier texte qui est sous forme de colonnes de données, extraire ses données pour les rentrer dans un tableau. Je vois ce que tu veux dire en utilisant un tableau dynamique, mais avant cela, comment extraire ces données?

n°1014429
bjone
Insert booze to continue
Posté le 16-03-2005 à 13:04:51  profilanswer
 
n°1014436
cassiopee7​5
Posté le 16-03-2005 à 13:09:16  profilanswer
 

merci, je vais essayer ça  :)

n°1014455
db__
spécialiste de l'à peu près
Posté le 16-03-2005 à 13:26:08  profilanswer
 

Bonjour

Citation :

Si le nombre d'éléments est indéterminé, il faut partir d'une tableau vide (T **) et le créer et le remplir au fur et à mesure avec malloc()...  


 
Serait-il possible de développer le propos.
Si on fait un malloc à chaque entrée, le temps d'exécution ne risque-t-il pas d'être assez élevé ?
S'agit-il de malloc successif par blocs ?
n'y-a-t-il pas à un moment une double allocation ?
Peut-on connaitre les raisons de cette stratégie ?
Merci
Cordialement
 

n°1014515
Emmanuel D​elahaye
C is a sharp tool
Posté le 16-03-2005 à 14:26:12  profilanswer
 

db__ a écrit :


Citation :

Si le nombre d'éléments est indéterminé, il faut partir d'une tableau vide (T **) et le créer et le remplir au fur et à mesure avec malloc()...  


Serait-il possible de développer le propos.
Si on fait un malloc à chaque entrée, le temps d'exécution ne risque-t-il pas d'être assez élevé ?


Pas plus que si on faisait une liste chainée... En fait se sera plutôt à coup de réalloc() quand le besoin s'en fait sentir (tableau de pointeurs) et malloc() pour chaque 'ligne').

Citation :


S'agit-il de malloc successif par blocs ?


Les deux mon général !  

  • tableau de pointeur : par bloc (doublage...)
  • éléments : à la demande.
Citation :


n'y-a-t-il pas à un moment une double allocation ?


??? parse error...

Citation :


Peut-on connaitre les raisons de cette stratégie ?


J'en vois pas d'autre (si il s'agit d'aboutir à un pseudo-tableau à 2 dimensions).


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1014522
Emmanuel D​elahaye
C is a sharp tool
Posté le 16-03-2005 à 14:29:36  profilanswer
 

cassiopee75 a écrit :

En fait, mon probleme, c'est quelle fonction utiliser pour lire mon fichier texte qui est sous forme de colonnes de données, extraire ses données pour les rentrer dans un tableau. Je vois ce que tu veux dire en utilisant un tableau dynamique, mais avant cela, comment extraire ces données?


Ca dépend comment est organisé ton fichier...
 
http://mapage.noos.fr/emdel/notes.htm#fichiers
 

  • Pour ligne une ligne de texte : fgets()
  • Pour analyser la ligne sscanf() si le format est suffisament stable, sinon parser 'à la main (strtok(), strstr(), strchr(), strtol() etc.)


---------------
Des infos sur la programmation et le langage C: http://www.bien-programmer.fr Pas de Wi-Fi à la maison : http://www.cpl-france.org/
n°1014589
cassiopee7​5
Posté le 16-03-2005 à 14:59:51  profilanswer
 

merci beaucoup a vous deux!! :jap:  
 
j'ai reussi a extraire en utilisant fgets pour récuperer les données des colonnes dont j'avais besoin. J'ai converti les données qui etait en format string en format float et je rentre mes données dans un tableau dynamique **tab.
Seul probleme, j'ai du mal a utiliser malloc pour **tab. J'ai mis ça:
float **tab=malloc(sizeof(float*))
 
est ce juste? :heink:  
 

n°1014611
cassiopee7​5
Posté le 16-03-2005 à 15:05:06  profilanswer
 

ah attendez, je viens de voir que vous m'avez mis sur la voie avec  
 

Citation :

En fait se sera plutôt à coup de réalloc() quand le besoin s'en fait sentir (tableau de pointeurs) et malloc() pour chaque 'ligne').


 
je vais voir ce que je peux faire avec cela...
 
merci merci :sol:

mood
Publicité
Posté le 16-03-2005 à 15:05:06  profilanswer
 

n°1014933
bjone
Insert booze to continue
Posté le 16-03-2005 à 17:30:53  profilanswer
 

pour éviter des pertes de perfs, tu réalloues par pas de N entrées, en maintenant la capacité de ton bloc alloué et la taille utilisée , et tu réalloues uniquement quand taille utilisée == capacité avec realloc( capacité+N ) à chaque fois.  
 
vu autrement avec N = 16, tu réalloueras 16 entrée tous les 16 données lues.


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

  transformer un fichier de données en tableau

 

Sujets relatifs
[PHP] envoie fichier pbTri tableau ASP : énigme...
tranfert de fichier vers client partir d'une page JSPEcrire dans un fichier
Lecture d'un fichier.txt dans une IHMTrouver la compression d'un fichier inconnu ?
[algo] duplicats dans un tableauPropagation d'un tableau dans une URL
[tomcat 5] [SQL Server] connection à la base de donnéesinsérer une image existante dans un fichier Word
Plus de sujets relatifs à : transformer un fichier de données en tableau


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