Salut
Je voudrais savoir comment est-ce que l'on fait pour récupére des informations dans un fichier .csv pour les placées dans une structure.
et le parcourt d'un fichier csv se fait-il avec fseek()?
Merci
Salut
Je voudrais savoir comment est-ce que l'on fait pour récupére des informations dans un fichier .csv pour les placées dans une structure.
et le parcourt d'un fichier csv se fait-il avec fseek()?
Merci
Avec fgets et strtok par exemple, lecture ligne par ligne (fgets), extraction des données avec le pistage des séparateurs (strtok).
Pas d'utilisation de fseek().
"La haine seule fait des choix" - Koan Zen
"Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
"Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
Faites du Prolog, ça vous changera les idées !
Ma page Prolog
Mes codes sources commentés
Mon avatar : La Madeleine à la veilleuse de Georges de La Tour
Bonjour!
Un fichier .csv est un fichier texte organisé en lignes où les valeurs de chaque ligne sont séparées par des ;
Si tu connais le type des données, c'est facile à lire avec les fonctions fread() ou fscanf(). Tu peux bien sûr utiliser fseek.
Si tu veux plus de détails, donne un extrait de ton fichier et la structure où tu veux charger les données.
extrait de ma structure :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 struct InfoTirage { int Numero; float NbFois; float Pourcentage; char Date[8]; int Ecart; float NbTirage; }; struct InfoTirage UnTirage;
Le char Date[8]; me gêne un peu, quel est le contenu exact de ce champ ?
"La haine seule fait des choix" - Koan Zen
"Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
"Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
Faites du Prolog, ça vous changera les idées !
Ma page Prolog
Mes codes sources commentés
Mon avatar : La Madeleine à la veilleuse de Georges de La Tour
comment ca le champs te gene? par rapport à son emplacement, ou sa taille?
01/06/06, ca fait 8 caracteres, ton tableau est donc trop petit pour contenir le \0 final...Envoyé par nemesys971
Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
Mon espace perso[/B]
La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]
parcontre pourquoi ca me met ca : "strlen' undefined..."
C'est la fonction strlen qui est undefined ? inclus <string.h>
Pour le champ date c'était effectivement la taille qui me gênait.
Ceci dit, on peut laisser à 8 mais la manipulation est plus compliquée.
"La haine seule fait des choix" - Koan Zen
"Il ne faut pas être meilleur que les autres, il faut être meilleur que soi." Albert Jacquard
"Ceux qui savent où ils ont posé leur parapluie ne sont pas alcooliques." - pgibonne.
Faites du Prolog, ça vous changera les idées !
Ma page Prolog
Mes codes sources commentés
Mon avatar : La Madeleine à la veilleuse de Georges de La Tour
parcontre je ne connais pas du tout la fonction strtok
pour l'utilisation de fgets
Code : Sélectionner tout - Visualiser dans une fenêtre à part fgets(&UnTirage, sizeof(struct InfoTirage), PtrFichier);
Attends, du fgets() depuis un fichier texte directement sur une structure ?
Qu'as-tu fumé?
Il faut parser chaque champ séparément pour remplir la structure.
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
fgets() sur un buffer texte d'une taille suffisante, puis strtok() ou strtok_r()/strtok_s() pour séparer les morceaux de la chaîne (séparés par des virgules ou des points-virgule, généralement) et strtol() pour convertir chaîne en nombre...
SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parlé avant.
"Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
Apparently everyone. -- Raymond Chen.
Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.
fgets(Chaine, sizeof(Chaine), PtrFichier);
quand je veux afficher les données récupérée par la chaine ... rien
apres quand je vérifie mon fichier ... impossible d'afficher le fichier
...euh je fais comment?
Montre un exemple de fichier CSV. SI il n'est pas lisible dans un éditeur de texte, c'est qu'il est sérieusement buggé ou compressé...Envoyé par nemesys971
Pas de Wi-Fi à la maison : CPL
Numero NbFois Pourcentage Date EcartSorti NbTirage
1 645 14,81 05/06/2006 0 4355
2 607 13,94 29/04/2006 4 4355
3 591 13,57 05/03/2006 2 4355
4 650 14,93 05/03/2006 2 4355
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager