C++中TCP/IP的套接字应用程序问题

SOCKETsockCoon=accept(sockSrv,(SOCKADDR*)&addrClient,&len);charsendBuf[100];s... SOCKET sockCoon=accept(sockSrv,(SOCKADDR*)&addrClient,&len); char sendBuf[100]; sprintf(sendBuf,"Welcome %s to www.baidu.com",inet_ntoa(addrClient.sin_addr)); send(sockCoon,sendBuf,strlen(sendBuf)+1,0);“send(sockCoon,sendBuf,strlen(sendBuf)+1,0);” 这一行,在发送数据的时候为什么要在长度上加1呢?为什么呢? 展开
 我来答
sdghchj
2011-12-23 · TA获得超过1.2万个赞
知道大有可为答主
回答量:3977
采纳率:0%
帮助的人:6074万
展开全部
strlen()求的是字符串的有效字符个数。
而字符串有效字符的后面都会至少有一个终止符,用来表明字符串结束。
所以加1就是为了把那个终止符也发送过去。
Storm代理
2023-07-25 广告
StormProxies是一家国内优质海外HTTP代理商,拥有一个庞大的IP资源池,覆盖200多个地区,IP数量大且匿名度高。其优点还包括超高并发、稳定高效、技术服务等特点,同时提供HTTP、HTTPS以及SOCKS5协议支持。此外,Sto... 点击进入详情页
本回答由Storm代理提供
忘至白葬不情必0T
2011-12-23 · TA获得超过3万个赞
知道大有可为答主
回答量:1.1万
采纳率:90%
帮助的人:1.2亿
展开全部
字符串末尾有个隐藏的结束符,需要1个字节存放
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
GIS_PASSION
2011-12-23 · 超过19用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:42万
展开全部
strlen(sendBuf)函数得到的是sendBuf字符串的长度(不包含末尾的'\0'),包含'\0'的实际长度为strlen(sendBuf)+1。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式