Bonjour,
Comment un fichier qui fait 541 500 octets ouvert avec
tfile=fopen(charname,"rb"); puis lu avec nlu=fread(charbuf,1,1000000,tfile);
où charbuf a été créé avec malloc comme un (char*) de 1 000 000 peut
renvoyer 86 524 dans nlu avec ferror ne rapportant pas d'erreur et feof
rapportant la fin de fichier???
Merci
David
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Michel Leunen
Zorro wrote:
Comment un fichier qui fait 541 500 octets ouvert avec tfile=fopen(charname,"rb"); puis lu avec nlu=fread(charbuf,1,1000000,tfile); où charbuf a été créé avec malloc comme un (char*) de 1 000 000 peut renvoyer 86 524 dans nlu avec ferror ne rapportant pas d'erreur et feof rapportant la fin de fichier???
D'après l'aide:
On success fread returns the number of items (not bytes) actually read. On end-of-file or error it returns a short count (possibly 0).
Michel -- ---------------------------------------- Michel Leunen mailto: see my homepage. C++Builder, BCC5.5.1 Web site: http://www.leunen.com/ ----------------------------------------
Zorro wrote:
Comment un fichier qui fait 541 500 octets ouvert avec
tfile=fopen(charname,"rb"); puis lu avec nlu=fread(charbuf,1,1000000,tfile);
où charbuf a été créé avec malloc comme un (char*) de 1 000 000 peut
renvoyer 86 524 dans nlu avec ferror ne rapportant pas d'erreur et feof
rapportant la fin de fichier???
D'après l'aide:
On success fread returns the number of items (not bytes) actually read.
On end-of-file or error it returns a short count (possibly 0).
Michel
--
----------------------------------------
Michel Leunen
mailto: see my homepage.
C++Builder, BCC5.5.1 Web site:
http://www.leunen.com/
----------------------------------------
Comment un fichier qui fait 541 500 octets ouvert avec tfile=fopen(charname,"rb"); puis lu avec nlu=fread(charbuf,1,1000000,tfile); où charbuf a été créé avec malloc comme un (char*) de 1 000 000 peut renvoyer 86 524 dans nlu avec ferror ne rapportant pas d'erreur et feof rapportant la fin de fichier???
D'après l'aide:
On success fread returns the number of items (not bytes) actually read. On end-of-file or error it returns a short count (possibly 0).
Michel -- ---------------------------------------- Michel Leunen mailto: see my homepage. C++Builder, BCC5.5.1 Web site: http://www.leunen.com/ ----------------------------------------
Zorro
Merci Michel pour ta réponse, seulement je déclare mes "items" de longueur 1 dans fread donc des octets et puis je comprenais l'aide comme le fait que "fread retourne le nombre de items (donc bytes dans mon cas) effectivement lus si on atteint le end of file qui peuvent être moins que ce qui est demandé", hors mon fichier fait 541 500 octets donc pourquoi retourner 86524 items(=octets)? David
"Michel Leunen" a écrit dans le message de news:43062bd4$0$18366$
Zorro wrote:
> Comment un fichier qui fait 541 500 octets ouvert avec > tfile=fopen(charname,"rb"); puis lu avec
nlu=fread(charbuf,1,1000000,tfile);
> où charbuf a été créé avec malloc comme un (char*) de 1 000 000 peut > renvoyer 86 524 dans nlu avec ferror ne rapportant pas d'erreur et
feof
> rapportant la fin de fichier???
D'après l'aide:
On success fread returns the number of items (not bytes) actually read. On end-of-file or error it returns a short count (possibly 0).
Michel -- ---------------------------------------- Michel Leunen mailto: see my homepage. C++Builder, BCC5.5.1 Web site: http://www.leunen.com/ ----------------------------------------
Merci Michel pour ta réponse,
seulement je déclare mes "items" de longueur 1 dans fread donc des octets
et
puis je comprenais l'aide comme le fait que "fread retourne le nombre de
items (donc bytes dans mon cas) effectivement lus si on atteint le end of
file qui peuvent être moins que ce qui est demandé", hors mon fichier fait
541 500 octets donc pourquoi retourner 86524 items(=octets)?
David
"Michel Leunen" <nospam@noreply.please> a écrit dans le message de
news:43062bd4$0$18366$ba620e4c@news.skynet.be...
Zorro wrote:
> Comment un fichier qui fait 541 500 octets ouvert avec
> tfile=fopen(charname,"rb"); puis lu avec
nlu=fread(charbuf,1,1000000,tfile);
> où charbuf a été créé avec malloc comme un (char*) de 1 000 000 peut
> renvoyer 86 524 dans nlu avec ferror ne rapportant pas d'erreur et
feof
> rapportant la fin de fichier???
D'après l'aide:
On success fread returns the number of items (not bytes) actually read.
On end-of-file or error it returns a short count (possibly 0).
Michel
--
----------------------------------------
Michel Leunen
mailto: see my homepage.
C++Builder, BCC5.5.1 Web site:
http://www.leunen.com/
----------------------------------------
Merci Michel pour ta réponse, seulement je déclare mes "items" de longueur 1 dans fread donc des octets et puis je comprenais l'aide comme le fait que "fread retourne le nombre de items (donc bytes dans mon cas) effectivement lus si on atteint le end of file qui peuvent être moins que ce qui est demandé", hors mon fichier fait 541 500 octets donc pourquoi retourner 86524 items(=octets)? David
"Michel Leunen" a écrit dans le message de news:43062bd4$0$18366$
Zorro wrote:
> Comment un fichier qui fait 541 500 octets ouvert avec > tfile=fopen(charname,"rb"); puis lu avec
nlu=fread(charbuf,1,1000000,tfile);
> où charbuf a été créé avec malloc comme un (char*) de 1 000 000 peut > renvoyer 86 524 dans nlu avec ferror ne rapportant pas d'erreur et
feof
> rapportant la fin de fichier???
D'après l'aide:
On success fread returns the number of items (not bytes) actually read. On end-of-file or error it returns a short count (possibly 0).
Michel -- ---------------------------------------- Michel Leunen mailto: see my homepage. C++Builder, BCC5.5.1 Web site: http://www.leunen.com/ ----------------------------------------
seulement je déclare mes "items" de longueur 1 dans fread donc des octets
Oui, et tu essaies d'en lire 1000000. Donc tu atteins la fin du fichier avant d'avoir tout lu et c'est donc la deuxième phrase de l'aide qui s'applique: On end-of-file or error it returns a short count (possibly 0). Maintenant pourquoi 86524, je n'en sais rien mais l'aide est claire, tu pourrais même avoir 0.
Michel -- ---------------------------------------- Michel Leunen mailto: see my homepage. C++Builder, BCC5.5.1 Web site: http://www.leunen.com/ ----------------------------------------
Zorro wrote:
seulement je déclare mes "items" de longueur 1 dans fread donc des octets
Oui, et tu essaies d'en lire 1000000. Donc tu atteins la fin du fichier
avant d'avoir tout lu et c'est donc la deuxième phrase de l'aide qui
s'applique:
On end-of-file or error it returns a short count (possibly 0).
Maintenant pourquoi 86524, je n'en sais rien mais l'aide est claire, tu
pourrais même avoir 0.
Michel
--
----------------------------------------
Michel Leunen
mailto: see my homepage.
C++Builder, BCC5.5.1 Web site:
http://www.leunen.com/
----------------------------------------
seulement je déclare mes "items" de longueur 1 dans fread donc des octets
Oui, et tu essaies d'en lire 1000000. Donc tu atteins la fin du fichier avant d'avoir tout lu et c'est donc la deuxième phrase de l'aide qui s'applique: On end-of-file or error it returns a short count (possibly 0). Maintenant pourquoi 86524, je n'en sais rien mais l'aide est claire, tu pourrais même avoir 0.
Michel -- ---------------------------------------- Michel Leunen mailto: see my homepage. C++Builder, BCC5.5.1 Web site: http://www.leunen.com/ ----------------------------------------
Zorro
exact... et effectivement le fichier est bien lu en entier sans faute... Merci Michel "Michel Leunen" a écrit dans le message de news:43070802$0$14047$
Zorro wrote:
> seulement je déclare mes "items" de longueur 1 dans fread donc des
octets
Oui, et tu essaies d'en lire 1000000. Donc tu atteins la fin du fichier avant d'avoir tout lu et c'est donc la deuxième phrase de l'aide qui s'applique: On end-of-file or error it returns a short count (possibly 0). Maintenant pourquoi 86524, je n'en sais rien mais l'aide est claire, tu pourrais même avoir 0.
Michel -- ---------------------------------------- Michel Leunen mailto: see my homepage. C++Builder, BCC5.5.1 Web site: http://www.leunen.com/ ----------------------------------------
exact... et effectivement le fichier est bien lu en entier sans faute...
Merci Michel
"Michel Leunen" <nospam@noreply.please> a écrit dans le message de
news:43070802$0$14047$ba620e4c@news.skynet.be...
Zorro wrote:
> seulement je déclare mes "items" de longueur 1 dans fread donc des
octets
Oui, et tu essaies d'en lire 1000000. Donc tu atteins la fin du fichier
avant d'avoir tout lu et c'est donc la deuxième phrase de l'aide qui
s'applique:
On end-of-file or error it returns a short count (possibly 0).
Maintenant pourquoi 86524, je n'en sais rien mais l'aide est claire, tu
pourrais même avoir 0.
Michel
--
----------------------------------------
Michel Leunen
mailto: see my homepage.
C++Builder, BCC5.5.1 Web site:
http://www.leunen.com/
----------------------------------------
exact... et effectivement le fichier est bien lu en entier sans faute... Merci Michel "Michel Leunen" a écrit dans le message de news:43070802$0$14047$
Zorro wrote:
> seulement je déclare mes "items" de longueur 1 dans fread donc des
octets
Oui, et tu essaies d'en lire 1000000. Donc tu atteins la fin du fichier avant d'avoir tout lu et c'est donc la deuxième phrase de l'aide qui s'applique: On end-of-file or error it returns a short count (possibly 0). Maintenant pourquoi 86524, je n'en sais rien mais l'aide est claire, tu pourrais même avoir 0.
Michel -- ---------------------------------------- Michel Leunen mailto: see my homepage. C++Builder, BCC5.5.1 Web site: http://www.leunen.com/ ----------------------------------------