Strcmp
Résolu/Fermé
pépereF
Messages postés
36
Date d'inscription
dimanche 11 décembre 2005
Statut
Membre
Dernière intervention
25 janvier 2008
-
3 mai 2007 à 20:17
Doctor C. - 5 déc. 2007 à 17:41
Doctor C. - 5 déc. 2007 à 17:41
6 réponses
Stupeflip
Messages postés
391
Date d'inscription
jeudi 8 février 2007
Statut
Membre
Dernière intervention
4 décembre 2007
94
4 mai 2007 à 09:57
4 mai 2007 à 09:57
Salut,
Avec std::string, tu peux utiliser == au lieu de strcmp :)
EDIT : Ah mince je viens de voir que c'était en C que tu voulais.. C'est bien <string.h> normalement bizarre.. Essaye de mettre <stdlib.h> et <conio.h> on sait jamais
Tiens moi au courant, bon courage
Avec std::string, tu peux utiliser == au lieu de strcmp :)
EDIT : Ah mince je viens de voir que c'était en C que tu voulais.. C'est bien <string.h> normalement bizarre.. Essaye de mettre <stdlib.h> et <conio.h> on sait jamais
Tiens moi au courant, bon courage
pépereF
Messages postés
36
Date d'inscription
dimanche 11 décembre 2005
Statut
Membre
Dernière intervention
25 janvier 2008
2
5 mai 2007 à 10:37
5 mai 2007 à 10:37
Bonjour et merci pour ta reponse, mais j'ai essayé et ça ne fonctionne pas, surement que les bibliothéques de mon compilateur ne sont pas compléte.(j'ai le même probléme avec visual studio 2005)
Y aurait-il quelque chose pour remplacer strcmp dans ma ligne de code.
Encore merci
Y aurait-il quelque chose pour remplacer strcmp dans ma ligne de code.
Encore merci
pépereF
Messages postés
36
Date d'inscription
dimanche 11 décembre 2005
Statut
Membre
Dernière intervention
25 janvier 2008
2
5 mai 2007 à 10:41
5 mai 2007 à 10:41
toutes mes excuses, voici ma ligne de code:
if (strcmp(&fiche.nom,&nom)==0)
il s'agit d'un programme pour créé un repertoire téléphonique.
if (strcmp(&fiche.nom,&nom)==0)
il s'agit d'un programme pour créé un repertoire téléphonique.
kilian
Messages postés
8731
Date d'inscription
vendredi 19 septembre 2003
Statut
Modérateur
Dernière intervention
20 août 2016
1 527
5 mai 2007 à 15:47
5 mai 2007 à 15:47
Assures toi du type de &fiche.nom et de &nom.
Déjà ça me semble louche que tu mettes le signe &, je ne vois pas en quoi tu as besoin de remonter l'adresse d'une variable pour avoir une chaine de caractère.
Une variable ne peut pas devenir un pointeur vers une chaine de caractère en allant chercher son adresse.
Ensuite s'agit t'il bien de chaine de caractère au sens char *, ou bien std::string?
Si c'est std::string, il ne faut pas utiliser strcmp mais l'opérateur ==
Déjà ça me semble louche que tu mettes le signe &, je ne vois pas en quoi tu as besoin de remonter l'adresse d'une variable pour avoir une chaine de caractère.
Une variable ne peut pas devenir un pointeur vers une chaine de caractère en allant chercher son adresse.
Ensuite s'agit t'il bien de chaine de caractère au sens char *, ou bien std::string?
Si c'est std::string, il ne faut pas utiliser strcmp mais l'opérateur ==
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Utilisateur anonyme
22 mai 2007 à 21:11
22 mai 2007 à 21:11
bonsoir tlm. Moi aussi je travaille sur dev c++ et j'ai eu aussi qqes souci avec la fonction strcmp mais j'ai réussit a la faire fonctionner. je laisse le code si ca peut aider.
long1 = strlen(CHAINECONST) ;
long2 = strlen(&chaine) ;
printf("%s\n", CHAINECONST) ;
if(long1 == long2 )
{
if(strcmp(&chaine, CHAINECONST) == 0)
{
puts("Les deux mots sont identiques.") ;
}
else
{
puts("Les deux mots ont le meme nombre de caracteres mais ils sont differents.") ;
}
}
else
{
puts("Les deux mots n'ont pas le meme nombre de caracteres.") ;
}
Je l'ai verifié et testée elle marche correctement.
long1 = strlen(CHAINECONST) ;
long2 = strlen(&chaine) ;
printf("%s\n", CHAINECONST) ;
if(long1 == long2 )
{
if(strcmp(&chaine, CHAINECONST) == 0)
{
puts("Les deux mots sont identiques.") ;
}
else
{
puts("Les deux mots ont le meme nombre de caracteres mais ils sont differents.") ;
}
}
else
{
puts("Les deux mots n'ont pas le meme nombre de caracteres.") ;
}
Je l'ai verifié et testée elle marche correctement.
je suis une debutante en programmation ,j'aimerai savoir la signification de ce code ki me donne mal a la tet:
printf("Entrez le code d'acces : ");
scanf("%s", &motDePasse);
if(strcmp(motDePasse, "**************") == 0) // j'ai remplacé le mdp par **************
{
goto ok;
}
else
{
printf("Erreur : Mauvais mot de passe.\n\n");
goto stop;
merci de m'aider
printf("Entrez le code d'acces : ");
scanf("%s", &motDePasse);
if(strcmp(motDePasse, "**************") == 0) // j'ai remplacé le mdp par **************
{
goto ok;
}
else
{
printf("Erreur : Mauvais mot de passe.\n\n");
goto stop;
merci de m'aider
ton code demande simplement d'entrer un mot de passe (code d'accès)
la fonction strcmp compare deux chaines de caractères
elle retourne
- -1 si la première chaine est plus petite que la deuxième (alphabétiquement)
- 0 si les chaines sont identiques
- 1 si la première chaines est plus grande que la deuxième
donc si le mot de passe est le bon ( == 0 ), elle entre dans le if...
la fonction strcmp compare deux chaines de caractères
elle retourne
- -1 si la première chaine est plus petite que la deuxième (alphabétiquement)
- 0 si les chaines sont identiques
- 1 si la première chaines est plus grande que la deuxième
donc si le mot de passe est le bon ( == 0 ), elle entre dans le if...