Chercher la position d'un caractere

cs_Johjo Messages postés 19 Date d'inscription mardi 5 juin 2001 Statut Membre Dernière intervention 22 août 2002 - 12 janv. 2002 à 12:44
cs_Johjo Messages postés 19 Date d'inscription mardi 5 juin 2001 Statut Membre Dernière intervention 22 août 2002 - 15 janv. 2002 à 20:23
Bon, je cherche à obtenir la position d'une chaine de caractere dans une autre chaine de caractere.
Mais les seuls fonctions que j'ai trouvé me renvoyent l'adresse d'un pointeur, alors que moi, il me faut la position avec un entier. Ou alors, est-ce qu'on peut soustraire l'adresse renvoyé à celle de la chaine de depart pour obtenir sa position dans la chaine.
Merci Bcp

4 réponses

cs_jpeg Messages postés 40 Date d'inscription lundi 17 décembre 2001 Statut Membre Dernière intervention 25 février 2004 1
14 janv. 2002 à 09:52
je peux te proposer qque chose. c'est pas très élégant mais c'est la première chose qui m'est venue à l'esprit.

char* pointeurChaineInit; // ta chaine de départ.
char* pointeurChaineTrouv; // le pointeur renvoyé par la recherche

int tailleChaineInit=strlen(pointeurChaineInit);
int tailleChaineTrouv=strlen(pointeurChaineTrouv);

int pos=tailleChaineInit-tailleChaineTrouv;

cpd, il faut peut-être creuser l'idée de faire les calculs sur les adresses renvoyées... Je sais que l'on peut faire :

char* p1;
int valDeplacement;
char* p2=p1+valDeplacement;

mais je crois pas que l'on puisse faire.
valDeplacement=p2-p1;

enfin... y'a qu'à essayer ...
0
cs_Johjo Messages postés 19 Date d'inscription mardi 5 juin 2001 Statut Membre Dernière intervention 22 août 2002
14 janv. 2002 à 19:52
Merci pour ton aide, je n'ai pas encore essayé, mais je pense que ca bcp m'aider, C'est cool de ta part.
@+
0
cs_Kaid Messages postés 949 Date d'inscription mardi 2 octobre 2001 Statut Membre Dernière intervention 8 juillet 2006 1
14 janv. 2002 à 22:13
Utilise plutôt ca car j'ai un doute sur le code que
l'on t'as donné.

char str1[]="ABCDEF";
char str2[]="CD";

char *p=strstr(str1, str2);

int pos=(p ? str1-p : -1);
0
cs_Johjo Messages postés 19 Date d'inscription mardi 5 juin 2001 Statut Membre Dernière intervention 22 août 2002
15 janv. 2002 à 20:23
Merci pour ton aide aussi, je vais essayer tout ça, j'ai encore rien essayé, alors des que j'ai testé, je vous dis tout ça
0
Rejoignez-nous