CFile类如何读入巨量的数据?

雷宗堂 2006-02-22 10:30:28
我想用CFile打开一个10M的文件,就算是用readhuge也失败,而且我观察了一下,好像readhuge的能力和read的能力差不多么,郁闷,谁告诉我到底是怎么回事?我该怎么办捏
...全文
137 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
雷宗堂 2006-02-23
  • 打赏
  • 举报
回复
原来要用malloc才行,哈哈
雷宗堂 2006-02-23
  • 打赏
  • 举报
回复
CFile dibFile("C:\\bb.bmp", CFile::modeRead);
DWORD fileSize = dibFile.GetLength();
BYTE* pDib = (BYTE*)GlobalAlloc(GMEM_MOVEABLE, fileSize);
dibFile.ReadHuge((char*)pDib, fileSize);
dibFile.Close();
代码是这样的,有没有问题阿
雷宗堂 2006-02-23
  • 打赏
  • 举报
回复
系统找不到指定路径?我size用小一点的数据没有问题的么。
菲斯可儿 2006-02-23
  • 打赏
  • 举报
回复
对,是你的代码引起的,看样子,好象是某个虚拟函数产生的问题。
syy64 2006-02-23
  • 打赏
  • 举报
回复
那是指针指向了非法地址或数组越界。
雷宗堂 2006-02-23
  • 打赏
  • 举报
回复
ASSERT_VALID fails with illegal vtable pointer.
First-chance exception in Bitmap.exe (KERNEL32.DLL): 0xC0000005: Access Violation.
Detected memory leaks!
Dumping objects ->
strcore.cpp(118) : {76} normal block at 0x00421430, 22 bytes long.
Data: < C:\b> 01 00 00 00 09 00 00 00 09 00 00 00 43 3A 5C 62
Object dump complete.
The thread 0x4FC has exited with code 3 (0x3).
The program 'D:\My Documents\My Projects\Bitmap\Debug\Bitmap.exe' has exited with code 3 (0x3).
DentistryDoctor 2006-02-22
  • 打赏
  • 举报
回复
10M的文件本不算大呀。

GetLastError=?

16,551

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Creator Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧