ReadFile - how to detect EOF ?

51 views
Skip to first unread message

R.Wieser

unread,
May 16, 2021, 12:25:33 PMMay 16
to
Hello all,

I'm reading a file synchronously and non-overlapped using ReadFile. I'm
also reading the file blockwise, and do not want to deal with an empty block
when the filesize turns out to be an exact multiple of the blocksize (every
block must contain data).

IOW, how do I detect the EOF /without/ trying to use ReadFile and getting
zero bytes back.

I've tried a ReadFile of zero bytes, but that doesn't quite work. :-\

I can ofcourse get and store the filesize beforehand and for each block
subtract the ammount of bytes read, but that means I have duplicate data :
a file that ends and a counter that /should/ than be zero. Which I would
rather not have.

I've ofcourse already DDGed the intarwebz for a hint, but have had not luck.

Regards,
Rudy Wieser


Christian Astor

unread,
May 29, 2021, 11:53:22 AMMay 29
to

R.Wieser

unread,
May 29, 2021, 12:21:16 PMMay 29
to
Christian,
Yeah, I found that too. The problem with it is that you *have to read data*
to be able to detect there isn't any more of it.

IOW, if I want to mark the current full block of data as the last one I must
have already read (some of) the next block able to determine the EOF status.
And thats something I'd rather not do.

Regards,
Rudy Wieser


holyghost

unread,
Sep 23, 2021, 11:46:40 PM (2 days ago) Sep 23
to
Maybe use streams and the "<<", ">>" operators. Then by reading your
previous posts buy K&R (ANSI C) and Strousstrup (The C++ programming
language) books. It will help you a lot.

holly

--
(__)
oo )
|_/\

My Software & Art company (donations are welcome) :
https://ko-fi.com/brandywine9

R.Wieser

unread,
Sep 24, 2021, 5:36:57 AM (2 days ago) Sep 24
to
holyghost,

> Maybe use streams and the "<<", ">>" operators.

Alas, I'm not using C{something}to program in.

Regards,
Rudy Wieser


Reply all
Reply to author
Forward
0 new messages