gpt4 book ai didi

c++ - 重叠/异步 I/O 如何工作

转载 作者:行者123 更新时间:2023-11-28 08:21:39 24 4
gpt4 key购买 nike

假设我有这样的东西

readFile(.....&ol) //with overlapped

while(1){

////////.....
waitforsingleobject(//ol.hevent);

////

readfile(.....&ol)

}

我注意到两个读取文件都从文件的开头读取...为什么?在没有重叠/异步的普通读取文件中,第二个读取文件将从第一个读取文件结束的地方开始..

最佳答案

在文件上使用重叠 I/O 时,您将指针传递给 OVERLAPPED 对象,在本例中为 ol

OVERLAPPED 结构有两个变量,OffsetOffsetHigh。这两个变量组合成一个64位整数,Offset为低位DWORD,OffsetHigh为高位DWORD,作为偏移执行的 I/O 操作。

因此,例如,如果您想在文件的第 8 个字节开始一个 ReadFile,您可以将 Offset 变量设置为 8,并将 在将 OVERLAPPED 传递给 ReadFile 之前将 OffsetHigh 变量设置为 0。

关于c++ - 重叠/异步 I/O 如何工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5620656/

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