Decoupage de chaines en C / séparateurs

Fermé
Gougnaf - 24 mars 2008 à 15:36
 Gougnaf - 24 mars 2008 à 15:59
Bonjour, je cherche a créer une fonction de découpage de chaine selon des separateurs et récupération dans un tableau des sous-chaînes (jusque la vous me direz qu'il existe deja strtok) mais qui garderait les separateurs dans ce tableau.

Voici le domaine: je tiens a decouper des chaines d'instructions du type "j = i+1;" par exemple et recuperer {'j'; '='; 'i'; '+'; '1'; ';'} pour pouvoir travailler sur les noms des variables et recréer la chaine d'instructions. La découpe se fait selon les separateurs {' '; '+'; '-'; ...} mais la fonction strtok ne permet pas de récupérer les separateurs (enfin a ma connaissance).

J'attends vos réponses avec impatience pour continuer mon programme .
A voir également:

2 réponses

Mon probleme vient du fait qu'il existe plusieurs separateurs et que strtok m'auraient bien aidé. Mais en effet je pense qu'il va me falloir faire les recherches individuellement pour chaque separateur et de determiner le premier rencontré, puis de traiter la sous chaine précédente et de recommencer à partir de là... une petite option "garder aussi les separateurs" sous strtok aurait été si simple ;)
1
Bonjour

Je crois que tu vas être obligé d'écrire ta propre fonction.
Avec strchr si tes séparateurs sont toujours des simples caractères, ou strstr s'ils peuvent être sur plusieurs caractères, et avec quelques précautions si tes séparateurs peuvent apparaitre à l'intérieur des symboles, ça ne devrait pas être bien méchant.
0