奇怪的程序错误,恳请高手指教!!
fwj47 2003-05-23 12:11:19 我目前编写的一个程序中,出现了很奇怪的问题。
程序出现问题的情况如下:
当程序打开文件为一个比较小的文件(几十K)时,程序可以正常运行;但是当打开文件较大(也就是只有500k的文件)时,程序运行就会出现许多莫名其妙的错误;
具体出现的地方如下:
#include "stdafx.h"
#include "dxf.h"
int main(int argc, char* argv[])
{
DXF dxf; /*此时dxf的内存地址为:0x00460094*/
if ( !dxf.InputDxf("files/F.dxf") ) /*当此函数返回后,dxf的地址变为:0xcccccccc,里面的所有数据都消失了!!? ?*/
{
printf("Error input\b");
getchar();
return -1;
}
........................................
........................................
我在用DEBUG调试的时候,在函数返回之前的一切情况均正常,但是为什么在这个函数返回后会出现这么奇怪的问题呢?
打开的文件只有500K,应该不会是文件大小的问题吧。但是当文件只有几十k的时候为什么能够正常运行呢?
测试中能打开并能正常运行的最大的文件是312k。
注:我的程序在VC下编译的,程序中用到了大量的STL容器。我对程序中的动态开辟内存的管理可以说是很仔细了,不过也不排除有这方面的原因!
如果哪位高手知道其中的原因,请不吝指教。
程序交工时间就快到了,我都快急死了!!!!