16,550
社区成员
发帖
与我相关
我的任务
分享//错误,返回-1;成功,返回新位置
int64 myFileSeek (HANDLE hf, int64 dist, DWORD origin)
{
LARGE_INTEGER li;
li.QuadPart = dist;
li.LowPart = SetFilePointer (hf, li.LowPart, &li.HighPart, origin);
if (INVALID_SET_FILE_POINTER == li.LowPart && GetLastError() != NO_ERROR)
li.QuadPart = -1;
return li.QuadPart;
}
BOOL Seek(HANDLE hf, int64 pos)
{
if(INVALID_HANDLE_VALUE == hf)
return FALSE;
return -1 != myFileSeek(hf,pos,FILE_BEGIN);
}
int64 Tell(HANDLE hf)//失败,返回-1
{
if(INVALID_HANDLE_VALUE == hf)
return -1;
return FileManage::myFileSeek(hf,0,FILE_CURRENT);
}