Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
| From | glen herrmannsfeldt <gah@ugcs.caltech.edu> |
|---|---|
| Newsgroups | comp.lang.c |
| Subject | Re: fread a file of unknown size |
| Date | 2015-03-08 23:39 +0000 |
| Organization | Aioe.org NNTP Server |
| Message-ID | <mdimio$jt5$1@speranza.aioe.org> (permalink) |
| References | <mdi5g9$9hc$1@reader1.panix.com> |
ruben safir <ruben@mrbrklyn.com> wrote: > if you use fread to read a file of unknown size with a set buffer size > of say 500 bytes, when you get to the end of the file you are likely to > read a stub of 500 bytes of info and the eof marker. > And fread will not red that block and set and oef that can be read with > feof. That is how I understand thinga. So we can either use fseek to > discover the file size and fread accordingly or use fstat? > is this the proper approach? Best is to fread() until it returns zero. In most cases, that makes a nice while (or for) loop. As I understand it, it is Pascal where you are supposed to test for EOF before reading, and that "bad things" (tm) happen if you keep reading. C doesn't work that way. Normally, once you reach EOF fread() will keep returning zero. It might be that for some tape systems, after reading zero bytes that it will continue on to the next file. It has been some years since I thought about how tail -f works, but note that a disk file can grow while you are reading it. Theoretically, you use feof() after you read zero bytes to find out if it was an actual EOF or an error. In most cases, I don't care which one, and besides, systems are reliable enough that most kinds of errors that might have occured years ago, don't occur. -- glen
Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread
fread a file of unknown size ruben safir <ruben@mrbrklyn.com> - 2015-03-08 14:47 -0400
Re: fread a file of unknown size Richard Heathfield <rjh@cpax.org.uk> - 2015-03-08 18:59 +0000
Re: fread a file of unknown size James Kuyper <jameskuyper@verizon.net> - 2015-03-08 18:21 -0400
Re: fread a file of unknown size Keith Thompson <kst-u@mib.org> - 2015-03-08 18:43 -0700
Re: fread a file of unknown size fmassei@gmail.com - 2015-03-08 15:41 -0700
Re: fread a file of unknown size raltbos@xs4all.nl (Richard Bos) - 2015-03-10 16:04 +0000
Re: fread a file of unknown size Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2015-03-08 18:44 -0400
Re: fread a file of unknown size jacob navia <jacob@spamsink.net> - 2015-03-08 20:32 +0100
Re: fread a file of unknown size Keith Thompson <kst-u@mib.org> - 2015-03-08 12:48 -0700
Re: fread a file of unknown size glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-03-08 23:39 +0000
Re: fread a file of unknown size James Kuyper <jameskuyper@verizon.net> - 2015-03-08 20:40 -0400
Re: fread a file of unknown size glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-03-09 01:24 +0000
Re: fread a file of unknown size Keith Thompson <kst-u@mib.org> - 2015-03-09 07:53 -0700
Re: fread a file of unknown size glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-03-09 17:36 +0000
Re: fread a file of unknown size Keith Thompson <kst-u@mib.org> - 2015-03-09 10:44 -0700
Re: fread a file of unknown size glen herrmannsfeldt <gah@ugcs.caltech.edu> - 2015-03-09 20:07 +0000
csiph-web