Ifn scanf, getchar, et C
Fermé
Annhydrium
Messages postés
1781
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
3 mars 2011
-
25 avril 2009 à 01:40
Annhydrium Messages postés 1781 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 3 mars 2011 - 26 avril 2009 à 15:53
Annhydrium Messages postés 1781 Date d'inscription lundi 11 février 2008 Statut Membre Dernière intervention 3 mars 2011 - 26 avril 2009 à 15:53
A voir également:
- Ifn scanf, getchar, et C
- Scanf windows - Guide
- Scanf et getchar qui fonctionne aléatoirement...? ✓ - Forum C
- Scanf segmentation fault ✓ - Forum Programmation
- Scanf java ✓ - Forum Programmation
- Scanf en c++ - Forum C++
3 réponses
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
25 avril 2009 à 01:54
25 avril 2009 à 01:54
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
quendistu
Messages postés
509
Date d'inscription
lundi 3 novembre 2008
Statut
Membre
Dernière intervention
4 juin 2009
87
25 avril 2009 à 01:55
25 avril 2009 à 01:55
#include <string.h>
int main(int argc,char **argv, car **envp)
{
if (argc <2) return(-1);
if (strcmp(argv[1],"annhydrium")==0)
{
faire si;
faire ca;
}
else
{
otroment faire ca
}
return (0);
}
int main(int argc,char **argv, car **envp)
{
if (argc <2) return(-1);
if (strcmp(argv[1],"annhydrium")==0)
{
faire si;
faire ca;
}
else
{
otroment faire ca
}
return (0);
}
fiddy
Messages postés
11069
Date d'inscription
samedi 5 mai 2007
Statut
Contributeur
Dernière intervention
23 avril 2022
1 844
25 avril 2009 à 02:12
25 avril 2009 à 02:12
Salut,
int main(int argc,char **argv, car **envp)
Prototype non standard (deux arguments maximum).
if (argc <2) return(-1);
Comportement indéfini. Il faut mettre return EXIT_FAILURE;
Cdlt
int main(int argc,char **argv, car **envp)
Prototype non standard (deux arguments maximum).
if (argc <2) return(-1);
Comportement indéfini. Il faut mettre return EXIT_FAILURE;
Cdlt
Annhydrium
Messages postés
1781
Date d'inscription
lundi 11 février 2008
Statut
Membre
Dernière intervention
3 mars 2011
257
26 avril 2009 à 00:46
26 avril 2009 à 00:46
ok je teste vos différente réponse dès que j'ai le temps merci...
26 avril 2009 à 10:31
26 avril 2009 à 11:19
26 avril 2009 à 15:53