WriteFile历次最多写dword个字节么?32位系统

WriteFile每次最多写dword个字节么?32位系统
WriteFile每次最多写dword个字节么?32位系统?


BOOL WriteFile(
HANDLE hFile, // 文件句柄
LPCVOID lpBuffer, // 数据缓存区指针
DWORD nNumberOfBytesToWrite, // 你要写的字节数
LPDWORD lpNumberOfBytesWritten, // 用于保存实际写入字节数的存储区域的指针
LPOVERLAPPED lpOverlapped // OVERLAPPED结构体指针
);


一次大概就能写个4g左右么?要是更大呢?

------解决方案--------------------
更大就用文件内存映射的方式做吧~
------解决方案--------------------
就是用映射文件每次写最大的字节数也是4G(32位系统),只不过写入的速度快
------解决方案--------------------
WriteFile历次最多写dword个字节么?32位系统
------解决方案--------------------
32位一次最多写入也就4G,进程的虚拟地址空间才4G,多了表示不了,内存映射文件貌似不用读入到内存,直接写入文件
------解决方案--------------------
再大就分批次写,可以另外写一个函数WriteFileEx,写入文件大小用分成两个字,函数分批次写
要不换64位吧