针对大文件来说一般是以内存映射文件的方式来进行的。具体的各种原理什么的可以参考windows核心编程。这里主要说下怎么用的。
一般情况下使用CreateFileA,CreateFileMappingA,MapViewOfFile就可以了。
hfile = CreateFileA("temp.txt", GENERIC_WRITE | GENERIC_READ, FILE_SHARE_READ, nullptr,
CREATE_ALWAYS, FILE_FLAG_SEQUENTIAL_SCAN, nullptr);
if (hfile == INVALID_HANDLE_VALUE)
return;
SECURITY_ATTRIBUTES sa;
SECURITY_DESCRIPTOR sd;
InitializeSecurityDescriptor(&sd, SECURITY_DESCRIPTOR_REVISION);
SetSecurityDescriptorDacl(&sd, TRUE, nullptr, FALSE);
sa.nLength = sizeof(SEC