Identification d'utilisateur
Merci a vous tous. Je vais utiliser vos conseils et voir mes resultats, je vous ferez savoir.
Identificateur d'utilisateur
Je devrais appele ma question "Identificateur d'utilisateur", comme ca vous auriez une idée de ce que je souhaite faire avec mon programme.
Voici la construction interne de mon fichier testc.txt:
(
bonjour
bonne nuit
couleur
mardi
lundi
janvier
homme
...
)
C'est pour cela que j'utilise le fgets(); pour parcourir mon fichier car cette fonction s'arrete lorqu'elle trouve un '\n' ou le # ascii 10 qui est le caratere retour chariot. J'ai tapez mon texte sur notepad, il est comme un dictionnaire de mot de passe. Je ne l'ai pas compliqué parce que tout ce que je veux c'est de voir jusqu'ou j'utilise logiquement les fonctions que je connais.
Dans mon code le fi.->_fic est censé passer a une autre ligne si les deux chaines ne sont pas identiques, et je fais ça toutes les fois que l'utilisateur naie pas encore trouvé le un mot de passe qui existe dans le fichier. Le prograimme ne gère pas les noms d'utilisateurs
L'identification n'a pas été effectuée
Bonjour,
J'ai modifié mon code suite à vos conseils, la fonction fflush(); est tres utile. Le programme, devant comparer l'entrée de l'utilisateur avec une chaine se trouvant dans testc.txt, s'arrete maintenant apres avoir pris le mot de passe entré par l'utilisateur et c'est cette chaine qu'il devait comaparer. Je vous donne mon nouveau code en entier:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| #include <stdio.h>
#include <string.h>
int main(){
FILE *fi = NULL;
char chnUser[50], chnFi[50], chnRec[50];
char util[50];
long res = 0;
fi = fopen("testc.txt","r");
if (fi == NULL){
printf("Pas de fichier dans le repertoire actif");
// menuPrincipal();
}
else
{
do
{
fgets(chnFi,sizeof(chnFi),fi);
strncpy(chnRec,chnFi,strlen(chnFi)-1);
// printf("%s\n", chnRec);
printf("Utilisateur: ");
scanf("%s", util);
fflush(stdin);
printf("\n\n\nMot de passe: ");
fflush(stdin);
scanf("%s", chnUser);
strncmp(chnRec,chnUser,strlen(chnUser));
if (res != 0){
fi->_file;
if (fseek(fi,0,SEEK_END)) { fclose(fi); break; }
}
else
{
printf("\n\n\t\t\tBienvenue dans mon jeu");
// appel de module
}
}while(fseek(fi,0,SEEK_END));
}
} |
La comparaison, le resultat de la comparaison et le test de fin du fichier n'ont pas été effectués.
Merci encore . . .