|
引用 16 楼 down2004 的回复:
引用 14 楼 adrian_bleu 的回复:
pcharbuff=(char *)malloc(0x100000);分配这么大的虚拟内存,(ReadFile(hFile, pcharbuff, dwSize , nBytesRead , NULL)不会有问题吧
直接用malloc分配1M空间应该会失败,用文件映射CreateFileMapping可以的。
嘻嘻,这样是没有问题的,分配空间可以,我做了下面的试验,成功。谢谢了。本来认为就是没有问题的,昨天突然想了一下没有验证,又验证了一下,哈哈。现在问题就是写入nand
- hFile = CreateFile(
- _T( "\\PocketMory1\\res.bin"),
- GENERIC_READ,
- 0,
- NULL,
- OPEN_EXISTING,
- FILE_ATTRIBUTE_NORMAL,
- NULL
- );
- hFile1 = CreateFile(
- _T( "\\PocketMory1\\res1.bin"),
- GENERIC_READ|GENERIC_WRITE,
- 0,
- NULL,
- CREATE_NEW,
- FILE_ATTRIBUTE_NORMAL,
- NULL
- );
- dwsize = GetFileSize (hFile, NULL) ;
- pcharbuff=(LPBYTE)malloc(0x100000);
- if(!ReadFile(hFile, pcharbuff, dwsize , &nBytesRead , NULL))
- {
- RETAILMSG(TRUE, (TEXT("ReadFile failed \r\n")));
- }
- if(nBytesRead==dwsize)
- RETAILMSG(TRUE, (TEXT("ReadFile successful \r\n")));
- else
- RETAILMSG(TRUE, (TEXT("ReadFile failed \r\n")));
-
- bSuccess = WriteFile(hFile1, pcharbuff, dwsize, &writelen, NULL); /* 将数据写入文件中 */
- if(bSuccess==TRUE)
- RETAILMSG(TRUE, (TEXT("WriteFile successful \r\n")));
- else
- RETAILMSG(TRUE, (TEXT("WriteFile failed \r\n")));
-
- CloseHandle(hFile);
- CloseHandle(hFile1);
复制代码 |
|