Position d'un caractère. [Résolu]

Signaler
Messages postés
55
Date d'inscription
dimanche 22 février 2004
Statut
Membre
Dernière intervention
17 août 2006
-
Messages postés
75
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
3 juillet 2006
-
J'ai fait un programme en VB qui servait a essayer toute les combinaison d'un checksum. Je vous évite les détails. Mais dans la code VB j'ai la ligne suivante :  index1 = InStr(tab_str, car(z + 1)) + 9 qui vien de la ligne de code JS suivante : var index1=tab.indexOf(login.substring(i,i+1))+10;

En gros la ligne consiste à prendre la position du chiffre dans la chaine. J'aimerais savoir qu'elle fonction utiliser en C++ pour faire la même chose. J'ai chercher un peu et je ne trouve rien qui donne la position en chiffre. En VB c'est trouver une chaine dans une chaine. Mais en C++ cette fonction retourne le reste de la chaine ou ce qui a avant.

Si quelqu'un connait la commande j'aimerais le savoir ou avoir le site site de référence.
Merci !

5 réponses

Messages postés
571
Date d'inscription
vendredi 30 décembre 2005
Statut
Membre
Dernière intervention
12 juillet 2012
3
Sinon dans string.h on trouve les fonctions memchr() strcspn() mais surtout strchr().

http://www.cplusplus.com/ref/indexr.html
Messages postés
75
Date d'inscription
mercredi 5 avril 2006
Statut
Membre
Dernière intervention
3 juillet 2006

Non, pas memchr() avec des chaines, utilise strchr()

memchr() c'est pas fait pour faire des recherche dans des chaines
il se fou complètement du \0, ca peut être très dangeureux

STRCHR() !!!

-=-= ExCRT =-=-
Messages postés
206
Date d'inscription
samedi 29 octobre 2005
Statut
Membre
Dernière intervention
7 mars 2012

Messages postés
233
Date d'inscription
jeudi 4 juillet 2002
Statut
Membre
Dernière intervention
5 juillet 2008

en C :

    char szBuff[256];
    char *sPtr;
    strcpy(szBuff,"LALALOLOLULULILI");

    if (sPtr = strstr(szBuff,"LOLO"))
        fprintf (stderr,"position : %d (attention premiere lettre de la chaine est à position 0)\n",sPtr-szBuff);
    else
        fprintf (stderr,"non trouvé\n");
Messages postés
55
Date d'inscription
dimanche 22 février 2004
Statut
Membre
Dernière intervention
17 août 2006

Parfait la fonction memchr fait emplement la job.  Merci pour vos sites.