#1 Le 17/03/2007, à 12:33
- xcxl
[RESOLU]Comparer un char ?? monchar = 'motdepasse' ??
Bonjour, comme expliqué dans le titre (mais cT un peu cours ) je debute en C et jaimerais comparer mon char avec une phrase. Comme cest un peu compliqué je vous montre mon code (qui ne marche pas ) :
#include <stdio.h>
#include <stdlib.h>
int main()
{
char mdp[50];
printf("Bonjour, quel est le mot de passe? ");
scanf ("%s", mdp);
if (mdp == 'lemdep')
{
printf ("\nPass valide\n");
}
else
{
printf ("\nPass invalide\n");
}
return 0;
}
Voila mais j'aimerai ne pas utiliser string.h pour des raison de taille de lexecutable (pour essayer de le cracker avec windasm apres).
Dernière modification par xcxl (Le 17/03/2007, à 13:11)
Hors ligne
#2 Le 17/03/2007, à 13:01
- best_friend_fr
Re : [RESOLU]Comparer un char ?? monchar = 'motdepasse' ??
Salut
Erreur 1:
En C, les strings sont entre " et non '
Erreur 2:
Les strings sont des pointeurs de chars. ton (mdp == 'lemdep') compare les adresses des pointeurs, pas les chaines en elles-memes.
#include <stdio.h>
#include <stdlib.h>
int main()
{
char mdp[50];
printf("Bonjour, quel est le mot de passe? \n");
scanf ("%s", mdp);
if (strcmp(mdp,"lemdep\n"))
{
printf ("\nPass valide\n");
}
else
{
printf ("\nPass invalide\n");
}
return 0;
}
N'oublie pas le \n dans le test, car un scanf inclue le return de validation.
Bon courage
sudo apt-get replace langage_sms by grammaire orthographe ponctuation
La documentation est avant tout faite pour ceux qui posent les questions, et non ceux qui y répondent
Best_friend_fr
Hors ligne
#3 Le 17/03/2007, à 13:11
- xcxl
Re : [RESOLU]Comparer un char ?? monchar = 'motdepasse' ??
Eh bien merci bcp sa marche impec.
Hors ligne
#4 Le 17/03/2007, à 13:19
- qqun
Re : [RESOLU]Comparer un char ?? monchar = 'motdepasse' ??
n'oublie pas le \n dans le test, car un scanf inclue le return de validation.
pour le \n je ne crois pas , tu peux l'enlever
sinon pour le strcmp , il renvois 0 si les chaines sont identiques donc me parait plus juste
if (strcmp(mdp,"lemdep\n") == 0) printf ("\nPass valide\n");
#5 Le 17/03/2007, à 14:04
- best_friend_fr
Re : [RESOLU]Comparer un char ?? monchar = 'motdepasse' ??
Euh oui, tes remarques semblent judicieuses...
J'ai pas vérifié, désolé
sudo apt-get replace langage_sms by grammaire orthographe ponctuation
La documentation est avant tout faite pour ceux qui posent les questions, et non ceux qui y répondent
Best_friend_fr
Hors ligne