sebleboss2002
Messages postés189Date d'inscriptionlundi 30 décembre 2002StatutMembreDernière intervention 3 avril 2005
-
20 août 2003 à 10:13
tcok
Messages postés61Date d'inscriptionsamedi 7 juin 2003StatutMembreDernière intervention 3 août 2005
-
20 août 2003 à 15:52
Salut tout le monde !
J'ai fait un ptit bout de code pour lire un fichier .txt avec fread, mais, alors que le fichier ne contient que le mot "prout", le console me sort des sigles bizarres, avec, au milieu, les lettres du mot "prout".
tcok
Messages postés61Date d'inscriptionsamedi 7 juin 2003StatutMembreDernière intervention 3 août 2005 20 août 2003 à 11:43
salut
ton var1 est une chaine de caractere, il fo lui mettre eu zero terminal pour qu'elle fonctionne;
mais puisque tu ne lis qu'un seul caractere a chaque fois il vaut mieux que tu utilise
sebleboss2002
Messages postés189Date d'inscriptionlundi 30 décembre 2002StatutMembreDernière intervention 3 avril 2005 20 août 2003 à 13:59
Merci beaucoup, ça marche déjà mieux, le seul problème restant est que le dernier caractère se répète deux fois (dans mon cas, la console me sort "proutt").
le problème avec ce que tu as écris c'est:
while (!feof(file5))
{
fread(var1, 1, 1, file5);
cout << var1;
}
lorsque tu arrive en fin de fichier (caractère t) tu le lit, tu l'affiche, la boucle recommence, tu lit (mais tu arrive a la fin du fichier) et var1 n'as pas changer et tu l'affiche=> tu as 2 t dans ton mot. La boucle que je te propose règle ce problème (tu peut faire autrement)
a+
Vous n’avez pas trouvé la réponse que vous recherchez ?
HCJarod
Messages postés221Date d'inscriptionmardi 12 août 2003StatutMembreDernière intervention11 décembre 20081 20 août 2003 à 15:48
Si tu fait un do{}while, tu as le même pb :
do{
fread(var1, 1, 1, file5);
cout << var1;
}while(feof(file5));
pour le dernier caractère, tu lit, tu l'affiche, et a la fin fu fichier, tu lit, fread renvois EOF (end of file) et tu affiche var1 et tu l'as dans l'os...