在Windows平台下,可以使用以下方法来找到内存映射文件的结尾,即文件的大小:
#include <windows.h>
DWORD GetFileSizeFromHandle(HANDLE hFile) {
DWORD fileSize = GetFileSize(hFile, NULL);
return fileSize;
}
#include <windows.h>
DWORDLONG GetFileSizeFromHandle(HANDLE hFile) {
BY_HANDLE_FILE_INFORMATION fileInfo;
GetFileInformationByHandle(hFile, &fileInfo);
DWORDLONG fileSize = fileInfo.nFileSizeLow | ((DWORDLONG)fileInfo.nFileSizeHigh << 32);
return fileSize;
}
#include <windows.h>
DWORDLONG GetFileSizeFromHandle(HANDLE hFile) {
LARGE_INTEGER fileSize;
GetFileSizeEx(hFile, &fileSize);
return fileSize.QuadPart;
}
以上方法可以在不知道文件大小的情况下找到内存映射文件的结尾。在实际应用中,可以根据具体需求选择合适的方法来获取文件大小,并进行相应的处理。
领取专属 10元无门槛券
手把手带您无忧上云