【发布时间】:2011-08-12 07:09:58
【问题描述】:
我有一个小文件,我查看它并计算其中的字节数:
while(fgetc(myFilePtr) != EOF)
{
numbdrOfBytes++;
}
现在我分配相同大小的虚拟内存:
BYTE* myBuf = (BYTE*)VirtualAlloc(NULL, numbdrOfBytes, MEM_COMMIT | MEM_RESERVE, PAGE_READWRITE);
我现在想将我的文件内容复制到 nyBuf。我该怎么做?
谢谢!
【问题讨论】:
-
在 Linux 上,有一个很好的系统调用
mmap可以为您完成这项工作,而无需专门分配内存。 Windows 可能有类似的东西。 -
获取文件大小,可以:
fseek(fp, 0L, SEEK_END); long size = ftell(fp); rewind(fp);
标签: c++ windows operating-system virtualalloc