首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

Run-Time Check Failure #2 - Stack around the variable 'szMessage' was corrupted.

2012-04-04 
Run-Time Check Failure #2 - Stack around the variable szMessage was corrupted.void CClientRemoteV

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
[解决办法]
堆栈溢出了吧

热点排行