【发布时间】:2018-02-14 01:20:27
【问题描述】:
我对此很陌生,因此我们将不胜感激。使用函数ReadFile时,lpBuffer的类型如何与“要读取的字节数”参数交互?
例如,如果你有一个 unsigned short MyShort[5] 作为 lpBuffer,然后你设置要读取的字节为 2。所有数据都会存储在 MyShort[0] 中吗?还是第一个字节进入 MyShort[0] 而第二个字节进入 MyShort[1]?当您设置要读取的字节数增加到 9 时会发生什么? 16 位会进入 MyShort[0],然后 16 位会进入 MyShort[1] 等等......?
谢谢
【问题讨论】:
-
请求的字节数按顺序存储在缓冲区中。 documentation 也很清楚这一点。
-
lpBuffer 参数的类型为
void*。ReadFile调用无法知道你传递的类型,那么它应该如何响应不同的类型呢? -
@IInspectable lpBuffer 不能是 char 或 int 类型吗?当为要读取的字节数指定 1 或 2 个字节时,我只是想弄清楚 8 位与 16 位的交互。
-
没关系,你的缓冲区是什么类型。一旦你将它传递给
ReadFile,所有类型信息都会丢失。 function signature 想要这样。
标签: c++ winapi buffer readfile