Aarg Chaine de caractère

NeoUmbrella Messages postés 117 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 15 janvier 2013 - 30 déc. 2004 à 01:04
cs_AmK Messages postés 368 Date d'inscription jeudi 13 mars 2003 Statut Membre Dernière intervention 27 janvier 2010 - 31 déc. 2004 à 17:39
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

julienbj Messages postés 452 Date d'inscription jeudi 4 décembre 2003 Statut Membre Dernière intervention 19 décembre 2008 15
30 déc. 2004 à 01:09
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]
0
cs_AmK Messages postés 368 Date d'inscription jeudi 13 mars 2003 Statut Membre Dernière intervention 27 janvier 2010 1
30 déc. 2004 à 13:44
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é ^^
0
NeoUmbrella Messages postés 117 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 15 janvier 2013
30 déc. 2004 à 14:17
Salut et merci pour vos reponses =)
Le fichier d'en-tete 'cctype' sert a quoi AmK ?

NeoUmbrella Corp.
0
cs_AmK Messages postés 368 Date d'inscription jeudi 13 mars 2003 Statut Membre Dernière intervention 27 janvier 2010 1
31 déc. 2004 à 17:39
à 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
0
Rejoignez-nous