给自己提个醒:strlen的使用| recv收不到数据

来源:互联网 发布:mac清歌五笔输入法 编辑:程序博客网 时间:2024/05/16 17:54

这个问题几乎耽误了我一天时间,真是郁闷,

char szText[256] = {0};
   
   int nRecv=::recv(fdSocket.fd_array[i],szText,strlent(szText),0); 

上面的代码是收不到数据的,即便有数据可读,原因是strlen的长度衡量是以‘0’为标识的,上述sztext已经各个字符是0了,所以上面代码等价于

int nRecv=::recv(fdSocket.fd_array[i],szText,0,0); !!

问题随小,但也易错。