Trouver la position d'un caractère dans une chaine

Résolu
katerson
Messages postés
47
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
24 juin 2011
- 30 juil. 2009 à 15:56
katerson
Messages postés
47
Date d'inscription
jeudi 27 avril 2006
Statut
Membre
Dernière intervention
24 juin 2011
- 31 juil. 2009 à 09:20
Bonjour,

J'aimerai avoir votre avis sur le problème suivant :

Ma chaine se formatte de la façon suivante: "RD-AAA=?<CR>"
- AAA étant 3 lettres variables
- ? étant une valeur dont je ne connais pas le nombre de caractères

Mon but est simplement de récupérer la valeur ? afin de la comparer avec une variable par la suite.

Je pensais:
- Trouver la position de "=" (1)
- Trouver la position de "<CR>" (2)
- Copier dans une variable (boucle for) les caractères de la position 1 à la position 2.

En cherchant sur internet, je suis tombé sur des fonctions strstr et strchr mais celles-ci me retournent les occurences.
Je sais qu'il existe une fonction qui retourne la position d'un caractère mais je ne la trouve pas...

Si vous la connaissez, merci de m'aider!
MERCI!!!
A voir également:

7 réponses

BunoCS
Messages postés
15266
Date d'inscription
lundi 11 juillet 2005
Statut
Modérateur
Dernière intervention
24 juin 2022
103
30 juil. 2009 à 18:10
Sorry.
Avec des commentaires:
p1=strchr(truc,'=');   // récupération de la 1ère occurrence du caractère '='
p2=strchr(truc,'<');   // récupération de la 1ère occurence du caractère '<'

/* ici, j'ai 2 pointeurs délimitant la sous-chaine à extraire*/

strcpy(result,p1+1);   // copie de la sous-chaine (+1 pour ne pas prendre en compte le '='
result[p2-p1-1]='\0';  // troncature de la sous-chaine grâce au 2e pointeur (-1 pour ne pas prendre en compte '<')

/* ici, dans result, j'ai la sous-chaine extraite */

@+
Buno
----------------------------------------
L'urgent est fait, l'impossible est en cours. Pour les miracles, prévoir un délai...
3