aide sscanf - C - Programmation
Marsh Posté le 11-11-2006 à 21:46:27
Edgar_Perry a écrit : dans le code suivant je cherche à découper un tableau en deux en connaissant le séparateur ';'
|
Project : Forums |
Ce que tu veux faire ne fonctionne pas avec des chaines pour scanf(). Pour des valeurs numériques, oui.
Il n'y pas d'autre choix que l'analyse manuelle (strchr()) ou avec strtok() qui a quelques défauts plus ou moins gênants (bien lire la doc).
Ton code est beaucoup trop compliqué et il passe à coté de ce qui est important...
Code :
|
|
Marsh Posté le 11-11-2006 à 22:14:37
Ok , je prends note pour le sscanf.
J'aurais une remarque par rapport à ton initialisation car il me semble quand faisant comme ceci, il va rajouter un null terminated à la fin. Mes tableaux ont la particularité de ne pas avoir de nulle terminated à la fin. c'est pour cela que dans mon exemple, je suis passé par les memcpy.
Marsh Posté le 11-11-2006 à 22:42:08
Edgar_Perry a écrit : Ok , je prends note pour le sscanf. |
What ? Et tu utilises sscanf() sur des chaines qui n'en sont pas ?
Alors l'analyse doit être faite complètement à la main. Pas question d'utiliser la moindre fonction chaine.
Marsh Posté le 11-11-2006 à 21:35:40
Bonjour,
dans le code suivant je cherche à découper un tableau en deux en connaissant le séparateur ';'
Je connais la taille maximum de mes deux sous chaines (10 caratères);
J'ai essaté plusieurs combinaison pour le format de sscanf et j'ai toujours le résultat suivant (mon fprintf):
"Contenu des tab apres <ABCDEF;IJKL ><ABCDEF;IJK>< >"
Je n'arrive pas à lui faire comprendre que mon séparateur est le ;
Auriez vous une idée ?
Ps: Ajout de string.h pour ne plus faire peur à Emmanuel
Message édité par Edgar_Perry le 11-11-2006 à 21:50:28