Strcmp
Résolu
pépereF
Messages postés
36
Date d'inscription
Statut
Membre
Dernière intervention
-
Doctor C. -
Doctor C. -
bonjour,
je travail sur dev c++ en langage c, je me suit rendu compte que ce compilateur ne connait pas strcmp, même avec #include<stdio.h> et #include<string.h>.
que doit-je faire? y a t'il une méthode pour remplacer strcmp?
PS: le compilateur me donne 0 erreur mais m'averti que strcmp est un indicateur incompatible.
merci d'avance
je travail sur dev c++ en langage c, je me suit rendu compte que ce compilateur ne connait pas strcmp, même avec #include<stdio.h> et #include<string.h>.
que doit-je faire? y a t'il une méthode pour remplacer strcmp?
PS: le compilateur me donne 0 erreur mais m'averti que strcmp est un indicateur incompatible.
merci d'avance
6 réponses
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
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
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.
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
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...