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

Signaler
Messages postés
13
Date d'inscription
mardi 17 mai 2005
Statut
Membre
Dernière intervention
13 juillet 2005
-
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
-
Bonjour, je suis encore débutant en c/c++



je vous explique ce que je veux faire :



voici une chaine de caractères



string alpha = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ



et dans cette chaine j'aimerais trouver la position du "C", qui est 29.
Apres je demande qu'elle a la position de e, du X du w etc... J'arrive
le faire en javascript avec indexOf mais en c++ j'ai besoin de votre
aide svp

5 réponses

Messages postés
230
Date d'inscription
mercredi 11 février 2004
Statut
Membre
Dernière intervention
4 août 2005

char* c = strchr(alpha,'C');//Donne un pointeur sur le C de la chaine (le premier)
int pos = c-alpha; //Soustraction d'adresse mémoire, littéralement l'adresse du C est decalé de combien par rapport au premier caractère de alpha
Messages postés
13
Date d'inscription
mardi 17 mai 2005
Statut
Membre
Dernière intervention
13 juillet 2005

mouai les pointeurs

j'ai trouvé un autre truc, mais merci quand meme
Messages postés
230
Date d'inscription
mercredi 11 février 2004
Statut
Membre
Dernière intervention
4 août 2005

Je te l'accorde les pointeurs sont source de bugs inexpliqués mais c'est quand meme bien pratique !
C'est quoi l'autre solution?
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Sachant que l'autre solution est forcément plus mauvaise...
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
J'avais pas fu que tu utilisais une string. Tu peux alors utiliser la méthode find:
size_t pos = alpha.find('c');