String

Résolu
cs_ToToL Messages postés 170 Date d'inscription vendredi 25 avril 2003 Statut Membre Dernière intervention 9 juillet 2008 - 17 oct. 2004 à 19:10
cs_ToToL Messages postés 170 Date d'inscription vendredi 25 avril 2003 Statut Membre Dernière intervention 9 juillet 2008 - 18 oct. 2004 à 13:01
Bonjours

Je cherche un moyen rapide de savoir si deux chaine de caractère sont les meme.

J'ai essayer le == et ca me renvoi toujours 0 meme quand les chaine sont identique.

Il y a strcmp() le seul probleme est que cette fonction renvoi 1 si les 2 chaine de caractères on le meme nombre de caractère peut importe qui sont-il. je m'explique avec du code :

char a[]="aaaa";
char b[]="bbbb";
strcmp(a,b);

ici strcmp renvoi 1 et donc voila mon probleme.

Je cherche soit une fonction toute prete soit un truc a coder moi meme mais je le veut ultra rapide car au pire je peut fair un while mais qui risque de ralentire mon programme.

Merci

Thomas

5 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
17 oct. 2004 à 19:40
Va voir 'strcmp' ici, tu veraas ce que veut dire result:
http://www.msdn.microsoft.com/library/default.asp

ciao...
BruNews, MVP VC++
3
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
17 oct. 2004 à 20:03
strcmp :

- Compare une chaine a une autre.
- Prototype dans string.h
- Syntaxe : strcmp(const char *s1, const char *s2);
- strcmp retourne :
€ <0 si s1 inférieure a s2
€ =0 si s1 égal s2
€ >0 si s1 supérieure a s2

Protabilité : Compatible norme ANSI

Apprenez les bases du C, au lieu de perdre autant de temps a chercher des solutions qui paraitraient évidente a une personne ayant les bases.

Sérieux, tout ce temps que vous perdez a chercher et comprendre certaines choses, passé le plutot a apprendre une bonne fois pour toutes les bases.
Ca vous éviteras ainsi des pertes de temps inutiles et vous progresserez beaucoup plus vite par la suite!

Shell
0
DeAtHCrAsH Messages postés 2670 Date d'inscription vendredi 25 janvier 2002 Statut Membre Dernière intervention 6 février 2013
17 oct. 2004 à 20:06
Sortent d'où ces signes euro ???? C'etait censé etre des astérisques :/

Shell
0
Gendal67 Messages postés 627 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 24 juillet 2011 2
17 oct. 2004 à 22:03
Essaie strieql(char* ch1, char* ch2) ;-)) si elle est pas définie, en voila une vite fait :
bool strieql(char* ch1, char* ch2) {

     bool isEqual = true;

     for(int i = 0; (ch1[i] != '\0') && (ch2[i] != '\0'); i++)
       if (ch1[i] != ch2[i])
         isEqual = false;

    return isEqual
  }


Essaie ça, ça devrait marcher..tiens moi au courant...

Genda67, à votre service !
0

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

Posez votre question
cs_ToToL Messages postés 170 Date d'inscription vendredi 25 avril 2003 Statut Membre Dernière intervention 9 juillet 2008
18 oct. 2004 à 13:01
Merci et exuser du dérangement. Je savais que cette fonction existait mais je ne me souvenait plus quel fonctionnait comme ca.

Merci
0
Rejoignez-nous