小编And*_*rew的帖子

Win32 select/poll/eof/ANYTHING?

使用标准的Win32文件I/O API(CreateFile/ReadFile/etc),我试图等待文件变得可读,或者在文件上发生异常.如果Windows有任何不错的POSIX支持,我可以这样做:

select(file_count, files_waiting_for_read, NULL, files_waiting_for_excpt, NULL, NULL);
Run Code Online (Sandbox Code Playgroud)

当某些文件有任何有趣之处时,select将返回.Windows不支持select或poll.精细.我想我可以把文件做成像:

while(eof(file_descriptor))
{
    Sleep(100);
}
Run Code Online (Sandbox Code Playgroud)

当有更多数据可供读取时,上述循环将退出.但不,Windows也没有相当于eof()!我可以在文件上调用ReadFile(),并确定它是否在那个方面.但是,那时我必须处理读数 - 我希望能够简单地弄清楚文件是否可读,而不是实际读取它.

我有什么选择?

c++ winapi mfc visual-studio

5
推荐指数
1
解决办法
3600
查看次数

标签 统计

c++ ×1

mfc ×1

visual-studio ×1

winapi ×1