CMainFrame::OnClose()函数中不能调用wcsncpy()函数,不然会造成内存访问出错
2014-09-15 17:01
260 查看
1、出现:“Run-Time Check Failure #2 - Stack around the variable 'puf' was corrupted”,最后发定义存放读写的TCHAR puf[20]数组从类函数里的局部变量放到类的成员变量中就好了,参考:点击打开链接
2、
经过调试出现:到wcsncpy()之后会把temp读取到的数据给清空了,并且在成功运行之后也会出现成内存访问出错,在程序别的地方进行测试使用之后发现wcsncpy()这块内容,没有问题,wcsncpy()函数不能在CMainFrame::OnClose()中进行使用(难道在OnClose()不能进行内存操作),具体原因还未知,暂时先记录这问题
2、
void CMainFrame::OnClose() {
TCHAR temp[20]; CMainFrame* pMW=(CMainFrame*)AfxGetApp()->m_pMainWnd; bool success=pMW->ReadPassword(temp,20);
wcsncpy(temp,(LPCTSTR)Password,sizeof(temp));//ReadPassword此函数主要是调用ReadFile()读取长度为20的文件数据,并把数据保存到temp中 if(!wcscmp(cPassword,temp)) { return true; } return false; }
经过调试出现:到wcsncpy()之后会把temp读取到的数据给清空了,并且在成功运行之后也会出现成内存访问出错,在程序别的地方进行测试使用之后发现wcsncpy()这块内容,没有问题,wcsncpy()函数不能在CMainFrame::OnClose()中进行使用(难道在OnClose()不能进行内存操作),具体原因还未知,暂时先记录这问题
相关文章推荐
- 写一个dup2功能相同的函数,不能调用 fcntl 函数,并且要有出错处理
- C++项目总四之内存溢出造成的诡异函数调用
- MFC 自定义类中调用CMainFrame出错。
- c++ 构造没完成 别的对象不能访问 析构时基类不要调用虚函数
- 为什么C++静态成员函数不能访问非静态成员变量、不能调用非静态成员函数?(面试常考)
- C++异常机制的实现方式和开销分析 (大图,编译器会为每个函数增加EHDL结构,组成一个单向链表,非常著名的“内存访问违例”出错对话框就是该机制的一种体现)
- 写一个dup2功能同样的函数,不能调用 fcntl 函数,而且要有出错处理
- CMainFrame::OnCreate 中开线程,线程函数中需要访问CMainFrame类的变量,引起的致命问题
- 写一个dup2功能相同的函数,不能调用 fcntl 函数,并且要有出错处理
- 在使用ArcGIS 9.0或9.1的ArcToolbox时出错提示"该内存不能为读"
- 随便写写看,关于析构和构造函数里面不能调用虚函数
- 在可以调用 OLE 之前,必须将当前线程设置为单线程单元(STA)模式。请确保您的 Main 函数带有 STAThreadAttribute 标记。
- [VB.NET]请教:vb.net调用vc写的dll出错:报尝试读取或写入受保护的内存
- JAVA调用DOTNET写的返回为DataSet类型的WebService函数出错 [cvc-complex-type.4:Attribte 'part' must appear on element 'mime:content'.]
- 静态函数在c中只有用来表示不能被其它文件访问的全局函数这这一个作用
- Delphi出现内存访问出错的一般原因
- 函数调用和栈的内存分配过程分析
- Wcf 调用 web 服务造成的内存泄露
- 常用效果的实现(Javascript的子父页访问、函数调用)
- 指针函数与函数调用机制内存布局图