Rechercher une chaine de caractère dans un texte

Résolu
new0staff Messages postés 27 Date d'inscription lundi 4 octobre 2004 Statut Membre Dernière intervention 3 novembre 2004 - 4 oct. 2004 à 18:47
new0staff Messages postés 27 Date d'inscription lundi 4 octobre 2004 Statut Membre Dernière intervention 3 novembre 2004 - 6 oct. 2004 à 15:31
Bonjour!

Je suis tout à fait nouveau au monde c++ et je commence par un gros travail....
Je souhaite pour commencer, pouvoir rechercher un paramètre et l'affecter à une variable.

En fait je reçois du texte sur une variable CString et à partir de ce texte il faut trouver le mot "Session :". J'aurais donc besoin du paramètre qui suit le mot "Session".

Exemple :
Session : 3212322332
C'est le nombre qui m'interesse.
Pour information, après ce nombre il ya un CR(retour à la ligne)

Merci d'avance à tous ceux qui veulent bien m'aider!!!
haffa

8 réponses

new0staff Messages postés 27 Date d'inscription lundi 4 octobre 2004 Statut Membre Dernière intervention 3 novembre 2004
6 oct. 2004 à 09:56
Salut!

Merci déjà à tout ceux qui m'ont répondu!

Bon, j'ai essayé ces deux lignes de code :

CString s = "Session : 3212322332";
char* p = strstr((LPCTSTR)s, "Session :") + 10;

ça marche bien, mais le problème c'est qu'il prend tout le reste du fichier text et ne s'arrête pas à la fin des 10 caractères.

Comment faire??!

haffa
3
cs_thierry la fronde Messages postés 351 Date d'inscription mercredi 21 juillet 2004 Statut Membre Dernière intervention 12 août 2009
4 oct. 2004 à 21:49
Tu peux utiliser la fonction Find de la classe CString.
Ou encore reconstituer chaque mot de ton texte avec GetAt(int index) jusqu'à ce que tu trouve le tien. Le tout c'est d'avoir l'index de la position de ton mot dans ton texte.

A+
0
magic_Nono Messages postés 1878 Date d'inscription jeudi 16 octobre 2003 Statut Membre Dernière intervention 16 mars 2011
5 oct. 2004 à 17:46
'lo

ce pb a été résolu ds mes BString

donc regarde le code de

scinde,
ou/et
checkIn

selon ton besoin

++

Magic Nono: l'informagicien! 8-)
0
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
5 oct. 2004 à 18:53
Salut
CString s =  "Session : 3212322332";
char* p = strstr((LPCTSTR)s, "Session :")  + 10;
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
vecchio56 Messages postés 6535 Date d'inscription lundi 16 décembre 2002 Statut Membre Dernière intervention 22 août 2010 14
6 oct. 2004 à 12:25
int i = atoi(p);
0
new0staff Messages postés 27 Date d'inscription lundi 4 octobre 2004 Statut Membre Dernière intervention 3 novembre 2004
6 oct. 2004 à 13:48
C'est tout bon merci!!
J'ai utilisé ce qui suit pour ceux qui sont interêssés :

const int MAX = 19;
char number [MAX];
char* pnumber = strstr((LPCTSTR)strRecvd, "Session: ") + 9;
strncpy( number, pnumber, 19);
number[19]='\0';

// 19 représente le nombre des chiffres à prendre après le terme Session

haffa
0
new0staff Messages postés 27 Date d'inscription lundi 4 octobre 2004 Statut Membre Dernière intervention 3 novembre 2004
6 oct. 2004 à 13:53
Autre problème !!

Je cherche maintenant à insérer la variable number dans une chaine de caractères que je définit. Exemple :

" SETUP %d", number"

mais il ya des conflits au niveau des types de variables!!!!
J'utilise la classe CString si jamais.

haffa
0
new0staff Messages postés 27 Date d'inscription lundi 4 octobre 2004 Statut Membre Dernière intervention 3 novembre 2004
6 oct. 2004 à 15:31
Ce probème est résolu!

Merci!

haffa
0
Rejoignez-nous