读书人

Run-Time Check Failure #2 - Stack a

发布时间: 2012-04-04 16:38:51 作者: rapoo

Run-Time Check Failure #2 - Stack around the variable 'szMessage' was corrupted.
void CClientRemoteView::OnConnect()
{
int ret;
int iSend;
char szMessage[255];
char *szIP = "27.18.134.165";

ret = LoadWinsock(szIP);
if(ret == 0)
{
CMenu* hMenu = AfxGetApp()->m_pMainWnd->GetMenu()->GetSubMenu(0);
hMenu->EnableMenuItem(ID_CONNECT, MF_BYCOMMAND|MF_GRAYED);
hMenu->EnableMenuItem(ID_OFF, MF_ENABLED|MF_ENABLED);
}

sprintf(szMessage, "Resolution\0");
iSend = Send(gClient, szMessage);
Recv(gClient, szMessage, 255);
int r = strncmp(szMessage, "DISCONNECT", 10);
}

运行到最后那个括号的时候,出现异常:Run-Time Check Failure #2 - Stack around the variable 'szMessage' was corrupted.
好像是跟栈相关的,不知道是什么原因造成的,有没有解决办法?

[解决办法]
//Recv(gClient, szMessage, 255);
接收到的szMessage可能不到10个,下面可能越界比较了,lz debug一下,看看recv后的szMessage
[解决办法]
堆栈溢出了吧

读书人网 >C++

热点推荐