Comparation chaine de caractere

Signaler
Messages postés
38
Date d'inscription
vendredi 4 avril 2003
Statut
Membre
Dernière intervention
31 décembre 2006
-
Messages postés
68
Date d'inscription
vendredi 3 mai 2002
Statut
Membre
Dernière intervention
6 juillet 2007
-
prise de tête j'arrive pas a comparer de chaine de caractere:
#include
#include <string.h>

char main(void)
{
char login[6];
cout << "\n\n\t\tLogin :";
cin >> login;
cout << "\n";

if(login == 'sfyler') {
cout << "\nBon login\n";
}
else
{
cout << "\nMauvais login\n";
}

return 0;
}

sa marche pas au nivo du if meme si je fait plutot un char *login.
A part faire varaible par variable genre if login[0] == 's' etc.. je vois pas quoi faire, aidez mloi svp

2 réponses

Messages postés
1905
Date d'inscription
mercredi 22 janvier 2003
Statut
Membre
Dernière intervention
17 septembre 2012
3
Salut,
Une chaine se compare avec strcmp(...)

if(!strcmp(login, "sfyler")) // strcmp() retourne 0 si les chaines sont identiques
{
...
}
Messages postés
68
Date d'inscription
vendredi 3 mai 2002
Statut
Membre
Dernière intervention
6 juillet 2007

Le temps est-il un cas particulier de l'espace ?

Mieux vaut utiliser la fonction strcmp() puisqu'il y'a une grande différence à comparer les "pointeurs " et comparer le contenu au niveau des adresses.