Aarg Chaine de caractère

Signaler
Messages postés
117
Date d'inscription
vendredi 5 novembre 2004
Statut
Membre
Dernière intervention
15 janvier 2013
-
Messages postés
368
Date d'inscription
jeudi 13 mars 2003
Statut
Membre
Dernière intervention
27 janvier 2010
-
Voila j'ai une question tres bete mais je ne comprends pas:
char mot1[] = "test";
char mot2[] = "test";
Pourquoi qand je test avec un if mot1 n'est pas egale a mot2 ?
j'ai du mal pour comparer les chaines :/

Merci

NeoUmbrella Corp.

4 réponses

Messages postés
452
Date d'inscription
jeudi 4 décembre 2003
Statut
Membre
Dernière intervention
19 décembre 2008
15
Pour comparer des chaines de caractères, il y a les fonctions strcmp et strncmp
si tu fais if (mot1 == mot2), tu compares l'adresse de mot1 à celle de mot2, pas le contenu de tes chaines!

Vive le C
Tchao
[mailto:julienbj@hotmail.com Savon]
Messages postés
368
Date d'inscription
jeudi 13 mars 2003
Statut
Membre
Dernière intervention
27 janvier 2010
1
allez je te tappe un exemple :

#include
#include <cctype>

using namespace std;

int main()
{
char chaine1[]="amokrane";
char chaine2[]="amokrane";

int taille1=0,taille2=0; // pour avoir la taille des deux chaines
int i=0,t=0; // deux variables une pour parcourir la chaine et l'autre va servir de compteur
taille1=strlen(chaine1); // calcul de la taille des deux chaines
taille2=strlen(chaine2);

if(taille1!=taille2) // si les deux chaines n'ont pas la même taille alors meme pas la peine de verifier
cout<<" chaine1 est diff\202rent de chaine2 "<<endl;

else
{ // sinon on verife
while(i<taille1)
{ // on parcours tant que i n'a pas atteint la taille de la chaine
if(chaine1[ i ]==chaine2[ i ])
t++;
i++;
}
if(t==taille1)
cout<<" elles sont \202gales "<<endl;
else
cout<<" elles sont diff\202rentes "<<endl;

}
return 0;
}

y'avait peut être moyen de faire plus simple mais je suis pressé ^^
Messages postés
117
Date d'inscription
vendredi 5 novembre 2004
Statut
Membre
Dernière intervention
15 janvier 2013

Salut et merci pour vos reponses =)
Le fichier d'en-tete 'cctype' sert a quoi AmK ?

NeoUmbrella Corp.
Messages postés
368
Date d'inscription
jeudi 13 mars 2003
Statut
Membre
Dernière intervention
27 janvier 2010
1
à rien du tout dans cet exemple !
mais dans d'autres cas il peut servir à verifier si une lettre est en majuscule ou en minuscule il peut servir à autre chose également appuie sur f1 sous ton vc++ ou devC++ ou autre ( ? ) et fais une recherche cctype ou ctype.h tu auras une réponse détaillée de la chose