B19 problem with fread() and buffering

Christopher G. Faylor cgf@cygnus.com
Sat Sep 5 14:18:00 GMT 1998


In article <3.0.3.32.19980904184440.00ba7d50.cygnus.gnu-win32@appr>,
Todd Massey <massey@surefirev.com> wrote:
>
>I call fread with a sizeof of 4 and a count of 315 after reading
>500 bytes out of a file and I only get back a count of 42 and then
>the FILE* fp->_flags == 1188, when I called fread() it fp_uflags was 1156, so
>for some reason it thinks it reached end of file.  Now this is a binary
>file and I use fopen() to open it .. I would expect it to work just fine
>the routine that wrote out the file used fwrite in the B19 stuff.. 
>
>So the real question is.. am I over running some buffer? 

You probably need to open your file as binary:

	FILE *fp = fopen("whatever", "rb");

Otherwise, cygwin, will attempt to translate \r\n to \n and it
will treat a ^Z specially.
-- 
cgf@cygnus.com             "Everything has a boolean value, if you stand
http://www.cygnus.com/      far enough away from it."  -- Galena Alyson Canada
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".



More information about the Cygwin mailing list