奇怪的程序错误,恳请高手指教!!

fwj47 fwj47 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
我目前编写的一个程序中,出现了很奇怪的问题。

程序出现问题的情况如下:
当程序打开文件为一个比较小的文件(几十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容器。我对程序中的动态开辟内存的管理可以说是很仔细了,不过也不排除有这方面的原因!

如果哪位高手知道其中的原因,请不吝指教。
程序交工时间就快到了,我都快急死了!!!!
...全文

相关推荐

评论 20
收藏 已收藏
分享
返回顶部
fwj47
VC/MFC 16,550 成员 421,606 内容