聊天程序中的两段代码:
char recvBuf[200];
retval=recvfrom(sock,recvBuf,200,0,(SOCKADDR*)&addrFrom,&len);
由于Release下没法调试运行,我就拿
MessageBox(NULL,recvBuf,"recvBuf的值",MB_OK);
瞧下看看。比如输入abcdefg到recvBuf中去
在Debug下能正常接受和显示abcdefg,但是Release下就变成ab了
无论输入什么,显示的都只有前面两个字符
char recvBuf[200];
retval=recvfrom(sock,recvBuf,200,0,(SOCKADDR*)&addrFrom,&len);
由于Release下没法调试运行,我就拿
MessageBox(NULL,recvBuf,"recvBuf的值",MB_OK);
瞧下看看。比如输入abcdefg到recvBuf中去
在Debug下能正常接受和显示abcdefg,但是Release下就变成ab了
无论输入什么,显示的都只有前面两个字符
如果不清零,有可能显示的数据多了,绝对不可能少了。你总是收到ab,说明你根本就没有正常收到数据,那是缓存里面的随机数。
可能原因是你没有初始化len