petit problème avec fread
bonsoir,
voilà j'ai un petit problème avec fread, en fait mon programme doit ouvrir un fichier contenant un mot de passe, puis le comparer avec celui entré par l'utilisateur etc, mais bon pour l'instant il se contente de lire le fichier et d'afficher le mot de passe inscrit dedans.
voilà 2 versions du code (le mot de passe du fichier ne peut pas dépasser 16 caractères) :
avec celle ci, il m'affiche 3 caractères supplémentaires (au lieu d'afficher 12345678 il affiche 12345678ç;>)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #include <iostream>
#include <conio.h>
using namespace std;
int main()
{
FILE* fichier;
char szBuffer[16];
if((fichier = fopen("mdp001.txt","r")) != NULL)
{
fread(szBuffer, 16, 1, fichier);
cout<<szBuffer;
}
getch();
} |
et avec celle ci, il ne m'affiche pas le dernière caractère (au lieu d'afficher 12345678 il affiche 1234567)
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| #include <iostream>
#include <conio.h>
using namespace std;
int main()
{
FILE* fichier;
char szBuffer[16];
if((fichier = fopen("mdp001.txt","r")) != NULL)
{
fread(szBuffer, strlen(szBuffer), 1, fichier);
cout<<szBuffer;
}
getch();
} |
quelqu'un peut-il m'aider ?
merci