【发布时间】:2011-10-31 11:02:26
【问题描述】:
我正在使用 Windows ReadFile 函数通过 FILE_FLAG_NO_BUFFERING 顺序读取 4GB 文件。我正在使用 64K 的缓冲区,一切正常,但问题是我的数据在当前缓冲区的末尾和下一次读取之间被剪切。例如,我有一个 4 字节浮点数序列,当我到达最后一个浮点数时,当前缓冲区中只有三个字节,下一个字节将进入下一个读取缓冲区。那么我该如何处理呢?我是否应该跟踪消耗的字节数以保留最后三个字节,然后在读取下一个缓冲区后附加最后一个字节?或者也许将缓冲区复制到另一个缓冲区并在那里跟踪浮动?但这不会破坏不使用 Windows 缓存读取的优势吗?感谢您的帮助。
【问题讨论】:
标签: c++ windows-xp