1

大家好,如果我想使用

SetFilePointer(fi1, 0, NULL, FILE_CURRENT) != INVALID_SET_FILE_POINTER 

或者 ?

SetFilePointer(fi1, 1, NULL, FILE_CURRENT) != INVALID_SET_FILE_POINTER

MSDN 文档

4

1 回答 1

2

也没有真正的伎俩。第一个不会检测到 EOF,第二个移动文件指针,我猜这不是你想要的。

SetFilePointerEx您应该通过调用“移动方法”FILE_CURRENT和零距离来读取文件指针。并将其与通过调用获得的文件大小进行比较GetFileSizeEx

LARGE_INTEGER pos, size;
if (!SetFilePointerEx(hfile, 0, &pos, FILE_CURRENT))
    HandleError();
if (!GetFileSizeEx(hfile, &size))
    HandleError();
bool eof = (pos.QuadPart == size.QuadPart);
于 2013-05-18T15:18:11.643 回答