Rechercher : dans
Par :

Decoupage de chaines en C / séparateurs

Dernière réponse le 24 mar 2008 à 15:59:25 Gougnaf, le 24 mar 2008 à 15:36:22 
 Signaler ce message aux modérateurs

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 .

Configuration: Linux
Firefox 2.0.0.6

Meilleures réponses pour « decoupage de chaines en C / séparateurs » dans :
Liste simplement chaînée VoirLISTES SIMPLEMENT CHAINÉES Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la liste IV. Opérations sur les listes chaînées A. Initialisation B. Insertion d'un élément dans la liste 1. Insertion...
Liste doublement chaînée VoirLISTES DOUBLEMENT CHAINÉES Requis I. INTRODUCTION II. Définition III. La construction du prototype d'un élément de la liste IV. Opérations sur les listes doublement chaînées A. Initialisation B. Insertion d'un élément dans la...
Les chaînes de caractères en C++ VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une...
Langage C - Les chaînes de caractères VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C, une chaîne...
Langage C - Les listes chaînées VoirLa notion de structure autoréferrentielle Une structure autoréferrentielle (parfois appelée structure récursive) correspond à une structure dont au moins un des champs contient un pointeur vers une structure de même type. De cette façon on crée...

1

le père, le 24 mar 2008 à 15:49:13

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.

Répondre à le père

2

 Gougnaf, le 24 mar 2008 à 15:59:25

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 ;)

Répondre à Gougnaf
Collection CommentÇaMarche.net