关于定义一个数组,为了防止读出不可靠的东西,一般都要使用memset(buf,'\0',sizeof(buf));不要使用strlen,它测试的是字符的个数,不计'\0',而它计算是从头计算到第一个'\0'结束
,如果此处用了strlen(buf)的话,则可能为0,这个函数相当于白写了
而对于recv函数,如果用strlen()的话,就可能把缓冲区长度置为0,这样就算有数据,也无法读出了。
关于定义一个数组,为了防止读出不可靠的东西,一般都要使用memset(buf,'\0',sizeof(buf));不要使用strlen,它测试的是字符的个数,不计'\0',而它计算是从头计算到第一个'\0'结束
,如果此处用了strlen(buf)的话,则可能为0,这个函数相当于白写了
而对于recv函数,如果用strlen()的话,就可能把缓冲区长度置为0,这样就算有数据,也无法读出了。