我有这段代码,我应该通过TCP套接字接收一些数据:
int ret;
char mytext[SIZE_CTRL_MSG];
cerr << "Trying to receive" << endl;
ret = recv(sock, &mytext[0], SIZE_CTRL_MSG, 0);
cerr << "Packet received, ret=" << ret << endl;
if(ret == SOCKET_ERROR){
printf("recv failed with error (%d)\n", WSAGetLastError());
system("PAUSE");
exit(1);
}
但是当我尝试执行它时,应用程序崩溃而不返回值;输出是这样的:
Trying to receive
这里应用程序崩溃了。我只收到一条消息,“未处理的异常win32发生”。我在Windows XP上使用eclipse Juno。我尝试在recv()中使用&mytext[0]
更改mytext
,但我的情况相同。哪个可能是错误?