Petite question en c++ - expression réguliere

Bonjour,

une petite question mais non moins urgente lol : voilà le topo, je veux faire une saisie, et ensuite vérifier le premier mot tapé. C’est à dire du début jusqu’au premier espace.

cin.getline(saisie,50,'\n');

j’ai pensé à faire une expression régulière, mais je ne sais pas comment la programmer en c++. Mais s’il y a une fonction qui perlet de le faire, je suis également preneur.

Merci d’avance pour vos réponses.

ce n’est pas une expression régulière qu’il faut utiliser, mais plutot un parcours de ton tableau pour récupérer le 1er mot.

tu copies chaque caractère ds un tableau temporaire jusquà ce que tu tombes sur un espace, puis tu compares

EDIT: tu veux comparer avec 1 mot, ou un type de mot (genre qui commence par…) ?

en fait la saisie commence par une commande qui peut changer à chqaue saisie. Par exemple l’utilisateur saisie > execute c:\toto.txt

le programme va verifier la commande jusqu’à l’espace. Si c’est egal à execute il va dans un fonction et ouvre le fichier etc …

si la persone tape : > select * from x;
il faut verifier jusqu’au 3eme espace. Si la syntaxe est bonne (select * from) alors il va ds une autre fonction et ainsi e suite.

C’est pourquoi je ne voulais pas faire une parcours de tableau. C’est très long.

Il doit bien exister une fonction du style split ou une regexp ki permet de tester les premiers paramètres tapés non ?

si tu as un nb fini de commandes à comparer, c’est pas plus long je pense.

une fois que tu as stocké le 1er mot, tu fais un strcmp(mot,“execute”) qui t’indiquera si il y a égalité ou pas :neutre:

Il y a la fonction strtok[/url] de [url=http://www.cplusplus.com/ref/cstring/index.html]string.h.
:kimouss:

Excellente cette doc GrosTony. :wink:
J’ai trouvé aussi le sscanf:
http://www.cplusplus.com/ref/cstdio/sscanf.html

moins joli, mais pratique aussi pour lire autre chose que des string.

la librairie regexp existe pour c++ suffit de l’inclure…

http://people.delphiforums.com/gjc/gnu_regex.html