Posez votre question Signaler

C++ comparaison char* [Résolu]

bestofzealot - Dernière réponse le 21 févr. 2009 à 13:32
Bonjour,
j'aimerais coparer deux char* (sachant que l'opérateur == ne marche pas);
je sais pas s'il existe une fontion pour ça ?
merci d'avance
Lire la suite 

C++ comparaison char* »

4 réponses
Réponse
+0
moins plus
Salut,
Il y a la fonction strcmp (ou strncmp) ;)
Par exemple :
if(strcmp(ch1,ch2)==0){//chaine egale}

Sinon, en C++ tu as la classe string (au lieu de char*) qui te propose une méthode pour la comparaison ;)
bestofzealot - 21 févr. 2009 à 12:00
ça marche aussi sur les char* strcmp , j'ai pas essayé, je vais voir ça
Ajouter un commentaire
Réponse
+0
moins plus
en effet ça marche même si c'est d'une logique inverse (renvoie 0 si c'est vrai)
Ajouter un commentaire
Réponse
+0
moins plus
Non strcmp ne renvoie ni vrai ni faux mais un entier qui permet de classer les deux chaînes suivant l'ordre lexicographique (strcmp ne signifie pas "est-ce que c'est égal", mais peux-tu comparer et me renvoyer un entier pour ordonner mes deux chaînes) :
http://www.linux-kheops.com/doc/man/manfr/man-html-0.9/man3/strcmp.3.html

Si strcmp renvoie 0 c'est que les deux chaînes ne se distinguent pas l'une de l'autre... bref qu'elles sont égales :-)

Et heureusement, car c'est ce qui permet facilement de faire un qsort sur un tableau de char * ;-)

Bonne continuation
Ajouter un commentaire
Ce document intitulé « C++ comparaison char* » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
5 extensions si vous voulez revenir à l'ancien Facebook