Rechercher : dans
Par :

C++ comparaison char*

Dernière réponse le 21 fév 2009 à 13:32:56 bestofzealot, le 21 fév 2009 à 11:56:32 
 Signaler ce message aux modérateurs

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

Configuration: Windows Vista
Firefox 3.0.6

Meilleures réponses pour « C++ comparaison char* » dans :
Les variables en C++ VoirLes variables en C++ 1. Les différents types de variables 1.1 bool 1.2 char 1.3 unsigned short int 1.4 short int 1.5 unsigned long int 1.6 long int 1.7 int (16 bits) 1.8 int (32 bits) 1.9 unsigned int (16 bits) 1.10 unsigned int (32...
Les chaînes de caractères en C++ VoirQu'est-ce qu'une chaîne de caractères ? Une chaîne de caractères (appelée string en anglais) est une suite de caractères, c'est-à-dire un ensemble de symboles faisant partie du jeu de caractères, défini par le code ASCII. En langage C++, une...
Langage C++ - Les types de données VoirLes types de données Les données manipulées en langage C++, comme en langage C, sont typées, c'est-à-dire que pour chaque donnée que l'on utilise (dans les variables par exemple) il faut préciser le type de donnée, ce qui permet de connaître...
Langage C - Les opérateurs VoirQu'est-ce qu'un opérateur ? Les opérateurs sont des symboles qui permettent de manipuler des variables, c'est-à-dire effectuer des opérations, les évaluer, etc. On distingue plusieurs types d'opérateurs : les opérateurs de calcul les opérateurs...

1

fiddy, le 21 fév 2009 à 11:58:49

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 ;)
Google is your friend

Répondre à fiddy

2

bestofzealot, le 21 fév 2009 à 12:00:30

ça marche aussi sur les char* strcmp , j'ai pas essayé, je vais voir ça

Répondre à bestofzealot

3

bestofzealot, le 21 fév 2009 à 12:23:12

En effet ça marche même si c'est d'une logique inverse (renvoie 0 si c'est vrai)

Répondre à bestofzealot

4

 mamiemando, le 21 fév 2009 à 13:32:56

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

Répondre à mamiemando
Collection CommentÇaMarche.net