我把一个大文件通过调用HANDLE CreateFileMapping(HANDLE hFile, LPSECURITY_ATTRIBUTES lpFileMappingAttributes, DWORD flProtect, DWORD dwMaximumSizeHigh, DWORD dwMaximumSizeLow, LPCTSTR lpName);
LPVOID MapViewOfFile(HANDLE hFileMappingObject, DWORD dwDesiredAccess, DWORD dwFileOffsetHigh, DWORD dwFileOffsetLow, DWORD dwNumberOfBytesToMap);来映射到文件里,
我再往这个得到的指针写数据。
可我如果在CreateFileMapping 的参数
dwMaximumSizeHigh,
dwMaximumSizeLow, = 10M
填入一定大小,
我再往它里面写东西,可是我查看文件的时候,会多写好多不必要的 0 数据。我如何来避免MapView会把多余的零 数据回写到文件里?
LPVOID MapViewOfFile(HANDLE hFileMappingObject, DWORD dwDesiredAccess, DWORD dwFileOffsetHigh, DWORD dwFileOffsetLow, DWORD dwNumberOfBytesToMap);来映射到文件里,
我再往这个得到的指针写数据。
可我如果在CreateFileMapping 的参数
dwMaximumSizeHigh,
dwMaximumSizeLow, = 10M
填入一定大小,
我再往它里面写东西,可是我查看文件的时候,会多写好多不必要的 0 数据。我如何来避免MapView会把多余的零 数据回写到文件里?
要么自己调用WriteFile
FlushMapOfView ,可以指定 要 flush 的 大小,还有一个开始指针。