no save
Assistance
Achat
News

Forum | programmation
[C++] lecture de caractères / isoler des mots
the_moon, le dim. 22 mai 2005 à 15:16:31
Salut à tous !

Je suis étudiant en IUT, et après un projet en script Bash et un en Java, je dois maintenant réaliser un projet en C++.

J'aurai donc quelques questions à poser afin d'avancer dans sa réalisation, sur une étape qui me bloque:

mon programme doit séparer les mots contenus dans une ligne d'un fichier texte; cette ligne est obtenue avec la commande "getline" (pas de problème pour ça, ça fonctionne)

Ce que je voudrais faire, c'est arriver à isoler les mots contenus dans cette ligne, sachant qu'elle peut contenir des symboles, et qu'il faudra en tenir compte (certains ne doivent pas être récupérés, d'autres si)

Par exemple, la ligne peut être une ligne de code en C++, dans ce cas je voudrais récuperer tous les mots qu'elle contient, mais pas les symboles propres au langage (comme = + . ; etc...).
Le mot peut aussi être un nom de variable et contenir d'autres symboles comme _


J'ai comme idée de lire la ligne caractère par caractère, et quand je trouve une lettre, je regarde le caractère suivant et ainsi de suite tant que je trouve une lettre ou un symbole accepté.
Je ne m'arrète que quand je tombe sur un caractère ne faisant pas partie d'un mot (espace ou caractère propre au langage). Je veux ensuite récuperer le mot trouvé pour pouvoir le traiter et le stocker.

Auriez vous une idée sur la manière de réaliser la lecture de cette ligne caractère par caractère, en séparant les mots ? Quelles commandes dois-je utiliser ??


Voici un exemple sur un morceau de code C++:

if (compteur != NULL)
return true;
else
return false;

la commande getline utilisée avec while me renvoie les lignes 1 par 1, je voudrais ensuite que ça récupère les mots:
if compteur NULL pour la 1ère ligne
return true pour la 2nde
else pour la 3ème
return false pour la 4ème.
Les symboles ( ) ! = ; ne doivent pas être relevés, de même que des mots entre guillements (pas d'exemple ici).



Voilà, je suis pour le moment bloqué à cette étape du programme, je n'arrive pas à trouver comment réaliser cette fonction de lecture, et je ne peux donc pas passer à la suite.

En espérant que quelqu'un parviendra à trouver une solution qui fonctionne, merci beaucoup !


the_moon
mai 05
Suivant
REPONSES
the_moon
mai 05
Char Snipeur
mai 05
mamiemando
mai 05
the_moon
mai 05
Char Snipeur
mai 05
the_moon
mai 05
the_moon
mai 05
Char Snipeur
mai 05
mamiemando
mai 05
Nashouille
mai 05
Version Web
Réalisé par RedShift
no save