msdn上面写着失败会返回INVALID_SET_FILE_POINTER 但是我用vc 6.0提示这个宏未定义 网上说是jdk太旧导致的那在旧版的jdk中 SetFilePointer返回什么表示调用失败呢? 麻烦哪位大虾有旧版的msdn帮忙查一下,谢谢:)

解决方案 »

  1.   

    返回值
    你自己看看返回的是哪个吧
    #define INVALID_HANDLE_VALUE ((HANDLE)(LONG_PTR)-1)
    #define INVALID_FILE_SIZE ((DWORD)0xFFFFFFFF)
    #define INVALID_SET_FILE_POINTER ((DWORD)-1)
    #define INVALID_FILE_ATTRIBUTES ((DWORD)-1)
      

  2.   


    __int64 myFileSeek (HANDLE hf, __int64 distance, DWORD MoveMethod)
    {
       LARGE_INTEGER li;   li.QuadPart = distance;   li.LowPart = SetFilePointer (hf, li.LowPart, &li.HighPart, MoveMethod);   if (li.LowPart == 0xFFFFFFFF && GetLastError() != NO_ERROR)
       {
          li.QuadPart = -1;
       }   return li.QuadPart;
    }