You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何设置以FILE_FLAG_OVERLAPPED打开的文件的大小?

重叠IO模式下SetEndOfFile与文件指针的行为疑问
  • 有资料提到:

    调用SetEndOfFile前必须先调用SetFilePointer

  • 但SetFilePointer的官方文档明确说明:

    由hFile参数标识的文件指针不用于重叠读写操作。

实际测试步骤与结果

以FILE_FLAG_OVERLAPPED标记打开文件后,执行了如下操作:

  1. 调用SetFilePointer将文件指针移至4MB位置,随后调用SetEndOfFile截断文件
  2. 再次调用SetFilePointer,从FILE_BEGIN处偏移0字节重置指针
  3. 配置OVERLAPPED结构体的Offset和OffsetHigh字段为0xFFFFFFFF,执行写入操作
  4. 最终结果:写入操作并未从文件起始位置开始,而是发生在文件末尾(即4MB位置)

内容的提问来源于stack exchange,提问作者Agnel Kurian

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 19:52:10