[C] probleme de chaînes de caractères
Es0pe
Messages postés
104
Statut
Membre
-
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Char Snipeur Messages postés 10112 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour, Voilà je voudrais faire une condition en comparant 2 chaines de caractères:
si la chaîne est égale à la chaîne "plus" : faire ça
si la chaîne est égale à la chaîne "moins" : faire ça
ce qui donnerait :
et voila ce que j'ai mis dans un .h
mais lorsque je veux compiler il me met : " [Linker error] undefined reference to `strcmp(char*, char const*)' "
Si quelqu'un voit la solution
Merci
--
☻ ♪ ♫ I'm sorry, Mama. I never meant to hurt you. I never meant to make you cry, but tonight I'm cleanin' out my closet. ♫ ♪ ☻
si la chaîne est égale à la chaîne "plus" : faire ça
si la chaîne est égale à la chaîne "moins" : faire ça
ce qui donnerait :
if (strcmp(constat, plus) == 0)
{
tirageAleatoirePlus(aleatoire);
}
else if (strcmp(constat, moins) ==0)
{
tirageAleatoireMoins(aleatoire);
}
else
{
printf("vous etes cense dire 'plus' ou 'moins'");
}
et voila ce que j'ai mis dans un .h
char constat[10], plus[]="plus", moins[]="moins"; long tirageAleatoirePlus(long aleatoire); long tirageAleatoireMoins(long aleatoire);
mais lorsque je veux compiler il me met : " [Linker error] undefined reference to `strcmp(char*, char const*)' "
Si quelqu'un voit la solution
Merci
--
☻ ♪ ♫ I'm sorry, Mama. I never meant to hurt you. I never meant to make you cry, but tonight I'm cleanin' out my closet. ♫ ♪ ☻
7 réponses
-
-
0uaip j'ai inclus tout ça puisque j'ai mes fonctions alentours qui marchent
-
J'ai legerement modifié ton code pour voir si cela compilait et marchait..j'ai pas eu de prb...
Pas definie les 2 fonction mais bon à priori, le prb ne vient pas de là...#include<stdio.h> #include<string.h> long tirageAleatoirePlus(long aleatoire); long tirageAleatoireMoins(long aleatoire); int main() {char constat[10], plus[]="plus", moins[]="moins"; for(;;) {printf("donner une chaine de caractere"); scanf("%s",&constat); if (strcmp(constat, plus) == 0) {printf("blabla");break;} else { if (strcmp(constat, moins) ==0) {printf("blibli") ;break;} else printf("vous etes cense dire 'plus' ou 'moins'"); } } getchar(); return 1; } -
Salut,
j'ai inclus tout ça puisque
T'en es sûr?lami20j@debian:~/trash$ cat ccm10.c #include<stdio.h> #include<string.h> int main() { char constat[10], plus[]="plus", moins[]="moins"; printf("constat ? "); scanf("%s",constat); if (strcmp(constat, plus) == 0) printf("plus\n"); else if (strcmp(constat, moins) ==0) printf("moins\n"); else printf("vous etes cense dire 'plus' ou 'moins'\n"); return 0; } lami20j@debian:~/trash$ gcc ccm10.c lami20j@debian:~/trash$ ./a.out constat ? plus plus lami20j@debian:~/trash$ ./a.out constat ? moins moins lami20j@debian:~/trash$ ./a.out constat ? aaaa vous etes cense dire 'plus' ou 'moins' lami20j@debian:~/trash$
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
-
C'est pour reprendre la boucle si la personne n'a pas saisi soit plus soit moins...
ainsi on lui redemande de resaisir constat tant qu'il n'a pas saisi plus ou moins.... -
il faut lié avec la lib standard, libstdc++.a ou libc.a, à rajouter dans les options de compilation.
quel est ton compilateur ?
Quelle est la commande que tu utilise pour compiler ?