求助各位大神!有未经处理的异常: 0xC0000005: 读取位置 0x5a4ce810 时发生访问冲突!

时间:2021-11-24 10:38:16
char*  ini= "\\L1000A.ini";
char* path;
CString str = ::sysInI.currPath;
path = (LPSTR)(LPCTSTR)str;
 char str3[20];
 char* SpecFileName;
sprintf(SpecFileName,"%s%s",path,ini);

CString Segment;
CString KeyStr,V;
Segment="GENERAL";
KeyStr.Format("sysInI.ParamFilePath"); V.Format("%s",sysInI.ParamFilePath);
WritePrivateProfileString(Segment,KeyStr,V,SpecFileName);

SingleDisplay.exe 中的 0x7857716d (mfc100d.dll) 处有未经处理的异常: 0xC0000005: 读取位置 0xec34f9cd 时发生访问冲突
该问题是由这一段程序引发的,执行时能通过,最后系统报了这个错误,百度上查了一下,是某个资源没有释放,不知道程序哪里出了错误?

2 个解决方案

#1


[char* SpecFileName;
sprintf(SpecFileName,"%s%s",path,ini); 没有申请内存, 崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处, 看不懂时双击下一行,直到能看懂为止
]

#1


[char* SpecFileName;
sprintf(SpecFileName,"%s%s",path,ini); 没有申请内存, 崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处, 看不懂时双击下一行,直到能看懂为止
]