char recvBuf[100];
memset(recvBuf ,0 ,100 );
recv(ClientSocket, recvBuf ,100 , 0);
-------------------------------------
上述写法第二个参数没问题,请问怎么姜recvbuf改成string类型 使用,用string.c_str()不行,因为是 const char *类型,而第二个参数是char *类型,求大神解答
memset(recvBuf ,0 ,100 );
recv(ClientSocket, recvBuf ,100 , 0);
-------------------------------------
上述写法第二个参数没问题,请问怎么姜recvbuf改成string类型 使用,用string.c_str()不行,因为是 const char *类型,而第二个参数是char *类型,求大神解答
因为string的数据是动态增长的
如果觉得缓冲区比较小,可以分多次recv
{
int buflen = recv(ClientSocket, recvBuf ,sizeof(recvBuf), 0);
printf(" %d", buflen);
if (buflen == sizeof(recvBuf))
{
memset(recvBuf ,0 ,10 );
}
else
{
bRecv = TRUE;
}
}
------------------------------------
这样循环recv时 当数据正好和缓冲区大小一样 就跳不出来……