阅读:2021回复:5
fopen引起内存溢出!急!急!急!
在MFC程序中打开一个文件:
FILE* fp=fopen("1.dat","r"); //1.dat是个比较大的文件大概50K if(fp!=NULL) { read_and_operarte(fp); ***********(1) } 当调试程序,执行到(1)处的时候就会出现:0xC0000005的错误。 由于1.dat是个比较大的文件,因此我将1.dat改的比较小,于是程序正确运行,没有错误。但是如果1.dat比较大的时候就会出现上述的错误,请问大家知道这是什么原因造成的吗?应该怎么改呢? 很急啊,哪位兄弟帮个忙吧。。。 |
|
沙发#
发布于:2007-03-02 21:40
read_and_operarte这里面作了啥操作?
|
|
|
板凳#
发布于:2007-03-02 21:45
就是那文件的内容读出来,然后送到端口,由于是个API,具体不太清楚。。。
|
|
地板#
发布于:2007-03-02 22:22
看你的代码,应该是这个函数中的问题
|
|
|
地下室#
发布于:2007-03-05 13:17
是read_and_operarte内部设置的读缓冲区太小,而API内部又想读出整个文件数据后再处理,就很容易造成内存越界。
|
|
5楼#
发布于:2007-04-26 16:46
50不大吧
|
|