Petite question C

Bazinga

Membre actif
15 Mai 2008
716
37
42
Bonjour à tous, j'aimerais juste en vitesse faire un petit prog en C.

Voici le topo:

J'aimerais créer un tableau de réels à partir d'un fichier qui est de la forme:

du texte, ensuite un groupe de 3 chiffres séparés par une virgule, un espace et ce même triplet qui se répete. (En clair ce sont des triplets de coordonnées GPS avec latitude,longitue, altitude et un espace) Voici un exemple:

MytextFile[1024] et un tableau avec mon texte:

BLABLA(entête)
1.2, 1.3,1.4 2.1,2.2,2.3 3.1,3.2,3.3 etc...
BLABLA (fin du fichier)


Comment décortiquer simplement ce texte et créer mes 3 tableaux data1, data2 et data3 reprenant la suite des nombres de chaque triplet?

Je galere un peu.


Je vous remercie!
 
[QUOTE='[Vezøul]bon maintenant je suppose que tu fait un programme à la con qui n'est pas multi-threadés[/QUOTE]

Oui, je suis un peu monsieur tout le monde qui essaye de se débrouiller en C. Je sais faire énormément de choses simples ( créer un tableau, afficher, le parcourir, le modifier, jouer un peu avec les pointeurs, etc...)

J'ai réussi à me placer en montexte qui est le début de mon premier nombre, connaitre le nombre de caracteres du nombres à isoler.

Du coup, ma demande est de transformer

montexte montexte[i+1] montexte[i+2] montexte[i+3]...etc.... montexte[i+6]
de "6.3214" en un entier.

Le probleme est peut-être posé plus simplement ainsi non?
 
A mon humble avis tu t'y prend mal, il te suffit d'utiliser la fonction strtok sur ta ligne de nombre avec comme délimiteur la virgule. Un petit compteur pour passer l'espace.
Quand au nombre récupérer par le strtok il ne te reste plus qu'à le transformer avec une fonction atox (atoi, atof, atol etc). :p :D :D
 
[Vezøul]Numerø41;5205910 a dit:
A mon humble avis tu t'y prend mal, il te suffit d'utiliser la fonction strtok sur ta ligne de nombre avec comme délimiteur la virgule. Un petit compteur pour passer l'espace.
Quand au nombre récupérer par le strtok il ne te reste plus qu'à le transformer avec une fonction atox (atoi, atof, atol etc). :p :D :D

Effectivement, cette solution semble intéressante... Merci!
 
Coucou, est ce que tu pourrais regarder ce qui se passe? J'essaie de compiler ce code avec GCC ("gcc test.c Final.kml") et il me dit:

ld: warning in Final.kml, file is not of required architecture
alors que tout marchait tres bien sous Windows au boulot...

(il y a 2 fichiers dans le zip, le texte que j'aimerais parser et le code.)

le but final est de mettre toutes les coordonnées GPS dans des tableaux pour apres créer des fonctions de lissage ( on voit bien que l'itinéraire en ville est assez "cahotique" pour ceux qui ont Google earth
 
Coucou, est ce que tu pourrais regarder ce qui se passe? J'essaie de compiler ce code avec GCC ("gcc test.c Final.kml") et il me dit:

alors que tout marchait tres bien sous Windows au boulot...

(il y a 2 fichiers dans le zip, le texte que j'aimerais parser et le code.)

le but final est de mettre toutes les coordonnées GPS dans des tableaux pour apres créer des fonctions de lissage ( on voit bien que l'itinéraire en ville est assez "cahotique" pour ceux qui ont Google earth
Même si ton programme en C fonctionne correctement ce que veux Google Earth ça doit être du xml ou du xml dans un zip (le fichier .kml) et pas ton programme compilé...


Quand à la fonction strtok, elle travail sur place donc faut faire attention quand on l'utilise ! (je previens juste même si c'est dans le man, pour éviter de mauvaise suprise).
 
Bin, j'ai appris Python en quelques clicks et tuto et mon probleme est résolu!

Et moi qui relisais ton code ? Je m'en vais de ce pas voir mon avocat pour porter plainte et avoir des dédommagements :p :D :D

Pour le strtok, c'est ce que je disais dans mon thread, il faut juste savoir qu'il n'est pas thread-safe et donc dans un programme multi-threadé il faut lui préférer strtok_r :p :D :D
 
[Vezøul]Numerø41;5206555 a dit:
Et moi qui relisais ton code ? Je m'en vais de ce pas voir mon avocat pour porter plainte et avoir des dédommagements :p :D :D

Tu uras un code python à relire qui fait 15 fois moins de lignes de code! lol

Envoie moi ton adresse en MP, je t'envoie une boite de praline pour le dédommagement ;-)