gpt4 book ai didi

c - 同步ReadFile读取的字节数

转载 作者:太空狗 更新时间:2023-10-29 15:33:54 26 4
gpt4 key购买 nike

假设我有一个 1Mb 的文件,文件指针位于文件的开头。我调用同步 ReadFile:

ReadFile(Handle, Buffer, 1024, Result, nil);

调用成功,没有错误发生。 Result value(读取的字节数)是否可能小于1024(要读取的字节数)?

我认为这对磁盘文件来说是不可能的,我不确定ReadFile可以访问的其他资源。在编写适用于不同资源的通用代码时,我是否应该考虑上述情况?


为了避免哲学上的猜测,我可以将问题重新表述如下:

Synchronous ReadFile 执行时没有错误,读取的字节数小于要读取的字节数。我可以确定已达到 EOF 吗?

最佳答案

在您给定的场景中,对于磁盘文件来说,似乎不可能接收到比请求的字节数更少的读取字节数。

但是,编写可以处理不同资源的通用代码,在位置+请求的字节数小于总字节数的情况下,你不应该依赖于总是接收请求的字节数将被转移。

例如,当名为 WriteFile 的命名管道的另一端有 0 个字节要写入时,Readfile 可以在成功调用时返回读取的 0 个字节...

关于c - 同步ReadFile读取的字节数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3342896/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com