ReadFile函数lpbuffer和读取clarifcation的字节

时间:2018-02-13 17:13:29

标签: c++ winapi buffer readfile

我对此很新,所以任何澄清都会受到赞赏。使用函数ReadFile时,lpBuffer的类型如何与“要读取的字节数”参数进行交互?

例如,如果你有一个无符号短的MyShort [5]作为lpBuffer,然后你设置字节读取为2.将所有数据都存储在MyShort [0]中?或者第一个字节进入MyShort [0]而第二个字节进入MyShort [1]?将字节设置为读取时会发生什么增加呢?将16位进入MyShort [0]然后16位进入MyShort [1]等......?

由于

1 个答案:

答案 0 :(得分:2)

lpBuffer始终被视为指向指定字节数(nNumberOfBytesToRead)的数组的指针。实际读取的字节数将存储在lpNumberOfBytesRead参数指向的变量中,或者稍后存储为async(重叠)结果。因此,在您的情况下,如果您请求读取2个字节,它可能会读取两个字节,在MyShort[0]中存储它们,或者只存储在MyShort[0]的下半部分中的单个字节,或者根本不存储任何内容。如果您请求读取9个字节,则它将准备最多 9个字节,顺序存储2 + 2 + 2 + 2 + 1个字节。