Probleme de debutant surement tout con !

Signaler
Messages postés
546
Date d'inscription
vendredi 13 février 2004
Statut
Membre
Dernière intervention
9 janvier 2008
-
Messages postés
42
Date d'inscription
dimanche 18 janvier 2004
Statut
Membre
Dernière intervention
29 décembre 2009
-
aaahhh j'y arrive pas !!!

je voudrais savoir si il est possible de faire cela en C:

int main()
{

char a[]="abc";
char b[]="abc";

if (a==b)
{
cout<<"code valide"<<endl;
}
else
{
cout<<"code invalide"<<endl;
}

}
quand je tape ca il me met toujours code invalide.Alors je me demande si c'est possible de comparer des chaines de caractères de cette facon! Je comprends pas...

3 réponses

Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
non ce n'est pas comme ca qu'il faut faire. Il faut utiliser la fonction strcmp déclarée dans string.h (tu dois donc l'inclure). Cette fonction renvoie 0 si les 2 chaines sont égales
Pour ton exemple il faudrait faire if (!strcmp(a, b)) à la place de if (a==b), car ce que contiennent a et b ce sont des adresses (l'adresse du premier élément de la chaine)
Messages postés
546
Date d'inscription
vendredi 13 février 2004
Statut
Membre
Dernière intervention
9 janvier 2008
1
aahh merci beaucoup!!
Messages postés
42
Date d'inscription
dimanche 18 janvier 2004
Statut
Membre
Dernière intervention
29 décembre 2009

Essai
<string>
string a = "bonjour";

en c++ ca fonctionne