Ifn scanf, getchar, et C
Annhydrium
Messages postés
1781
Date d'inscription
Statut
Membre
Dernière intervention
-
Annhydrium Messages postés 1781 Date d'inscription Statut Membre Dernière intervention -
Annhydrium Messages postés 1781 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je voudrai faire une petite appli pour exectuer deux trois commande, mais seulement la protéger en apparence, pour qu'elle ne soient pas activable par tout le monde
donc en fait je voudrai bien un truc du style
if (mdp=="annhydrium")
{ faire si faire ca
}else{
otroment faire ca
}
or je n'arrive pas a avoir ma chaine de caractère complète et a la tester...
Merci d'avance...
je voudrai faire une petite appli pour exectuer deux trois commande, mais seulement la protéger en apparence, pour qu'elle ne soient pas activable par tout le monde
donc en fait je voudrai bien un truc du style
if (mdp=="annhydrium")
{ faire si faire ca
}else{
otroment faire ca
}
or je n'arrive pas a avoir ma chaine de caractère complète et a la tester...
Merci d'avance...
A voir également:
- Ifn scanf, getchar, et C
- Scanf et getchar qui fonctionne aléatoirement...? ✓ - Forum C
- Scanf windows - Guide
- Scanf segmentation fault ✓ - Forum Programmation
- Getchar(); - Forum Programmation
- "Scanf(&s,&n)" ✓ - Forum C
3 réponses
Salut,
En C pour comparer des chaînes on utilise strcmp.
Essais :
Par contre ce code a plusieurs défauts. Sans compter qu'il vaut mieux ne pas utiliser l'opérateur strcmp pour la comparaison de mots de passe (il vaut mieux comparer tous les caractères), il est important de noter que la chaîne "tonMotDePasse" sera stocké en clair dans ton programme une fois compilé.
Mais tu peux la stocker sous forme chiffrée et déchiffrée à la volée en utilisant un xor.
Si tu veux plus de détails, n'hésite pas.
Cdlt
En C pour comparer des chaînes on utilise strcmp.
Essais :
char mdp[64]; printf("Mot de passe : "); if(fgets(mdp,sizeof mdp,stdin)!=NULL) { char *p=strchr(mdp,'\n'); if(p!=NULL) *p='\0'; else { int c; while( (c=getchar())!='\n' && c!=EOF ); } if(strcmp(mpd,"tonMotDePasse")==0) puts("bingo"); else puts("mauvais mot de passe"); }
Par contre ce code a plusieurs défauts. Sans compter qu'il vaut mieux ne pas utiliser l'opérateur strcmp pour la comparaison de mots de passe (il vaut mieux comparer tous les caractères), il est important de noter que la chaîne "tonMotDePasse" sera stocké en clair dans ton programme une fois compilé.
Mais tu peux la stocker sous forme chiffrée et déchiffrée à la volée en utilisant un xor.
Si tu veux plus de détails, n'hésite pas.
Cdlt
Annhydrium
Messages postés
1781
Date d'inscription
Statut
Membre
Dernière intervention
257
Il y a une erreur quelque part ou c'est moi car je n'arrive pas a compilé or la variable mdp est bien déclarée...
fiddy
Messages postés
11069
Date d'inscription
Statut
Contributeur
Dernière intervention
1 846
>
Annhydrium
Messages postés
1781
Date d'inscription
Statut
Membre
Dernière intervention
J'ai inversé à un moment mdp avec mpd. T'aurais pu le voir...
Annhydrium
Messages postés
1781
Date d'inscription
Statut
Membre
Dernière intervention
257
>
fiddy
Messages postés
11069
Date d'inscription
Statut
Contributeur
Dernière intervention
aaahhh bon je teste tout a l'heure