我正在进行随机文件访问以在其中写入日志记录。稍后,我会根据日志编号访问日志。我使用日志编号来计算记录的偏移量并直接访问它。函数SetFilePointerEx用于设置文件中的当前位置,从那里我可以直接读取记录。
该函数需要LARGE_INTEGER作为参数。如何将LARGE_INTEGER用于SetFilePointerEx函数?要求。笔记说该程序将针对64位操作系统。
答案 0 :(得分:3)
假设LARGE_INTEGER li;
,只需将li.QuadPart
设置为文件偏移所需的LONGLONG
值,并使用li
作为调用中的偏移量参数。或者我错过了一些明显的东西。?
LARGE_INTEGER li, lo={0};
li.QuadPart = yourOffsetValue;
SetFilePointerEx(hFile, li, &lo, FILE_BEGIN);