菜鸟问问题!大家接分愉快!

lsaturn 2003-12-01 11:05:01
我用CFile来读文件
我不知道文件有多大,有时候文件太大了,就会出现内存溢出的错误!
请问一般应该怎么来读文件!
有没有通用的例程!
这个问题都问,我真的有点无地自容:)
...全文
103 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
gudulyn 2003-12-03
  • 打赏
  • 举报
回复
因为操作系统会为 每个进程 分配4G的虚拟内存空间,所以你NEW出来的空间肯定是够用的。
playlynx 2003-12-03
  • 打赏
  • 举报
回复
关注!
lsaturn 2003-12-03
  • 打赏
  • 举报
回复
怎么使用内存映射文件?
有没有这方面的文章?
tangtangbaoli 2003-12-03
  • 打赏
  • 举报
回复
直接用内存映射文件访问文件
Mapping File可存取上百M数据
lsaturn 2003-12-03
  • 打赏
  • 举报
回复
既然说到这里了,问一下,如果真的有需要读入4g以上的东西,可能就只能分批处理了?
dshk 2003-12-02
  • 打赏
  • 举报
回复
读一部分,处理之后,再读一部分;我是这样想的;
CHKK 2003-12-02
  • 打赏
  • 举报
回复
一个是内存文件映射,或者读一段处理一段
硬盘有多大就能NEW多大
lsaturn 2003-12-02
  • 打赏
  • 举报
回复
到底能够new多大的出来呢?我也不太清楚最大可能会多大,几百m的都可能有啊!
tangtangbaoli 2003-12-02
  • 打赏
  • 举报
回复
很像我在干的活,就是把自定义的数据文件来用StretchDIBits按照位图显示,
我们被提供来的数据文件大约10M左右,每像素float类型,我们医学图像,只处理256灰度,所以要把所有float数据转换为0-255之间的数值,
我就是开坯一个float* pdate=new float[imageweight*imageheight*imagenumbers];
然后
file.ReadHuge(pdate,imageweight*imageheight*sizeof(float));
lsaturn 2003-12-02
  • 打赏
  • 举报
回复
new不能new这么大的东西啊:)
郁闷啊!
难道各位读文件的时候就没有考虑过万一文件过大怎么办吗?
ISunwu 2003-12-02
  • 打赏
  • 举报
回复
那就只有new了。
lsaturn 2003-12-02
  • 打赏
  • 举报
回复
对于处理这种大文件,大家有没有通用点的办法!
因为我读进来的文件里面还是乱的,我要整体处理一遍!
所以很有必要把它全部读进来啊!
fuxf 2003-12-02
  • 打赏
  • 举报
回复
用字符串指针来动态存储所读的文件内容.可以按行存放.每一个串存一行,一定不会超过!!!!!!!
lsaturn 2003-12-02
  • 打赏
  • 举报
回复
我知道readfile的时候才读!
我要把文件读进来进行处理,形成图片,然后显示,有的图片可能会很大!
s_gao 2003-12-02
  • 打赏
  • 举报
回复
老大,open的时候是不读文件的,你readfile时才会读,你没必要一下就读上百M的东西吧,一点一点的读吧
ISunwu 2003-12-02
  • 打赏
  • 举报
回复
你读文件的最终目的是什么阿?
ISunwu 2003-12-02
  • 打赏
  • 举报
回复
你需要把整个文件都读到内存么?有这个必要么?
lsaturn 2003-12-02
  • 打赏
  • 举报
回复
但是太大了的话,运行的时候会发生错误.
比如现在我要读一个100m的文件!
昨天听说是做内存映像啊!
还说可以利用windows的分页机制,补台清楚啊!
ross33123 2003-12-01
  • 打赏
  • 举报
回复
你该不会不知道 CFile 有个 GetLength 方法吧?
要知道文件多大就用它

16,550

社区成员

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

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

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