用VC socket编程时,用recv函数接收字符串数据,只能接收到前4个字符,多于4个字符的都是“烫”字乱码。这是什么问题?怎么解决?
char cs[100];
case FD_READ:
{
CString num=""; //定义字符串,用于保存待显示字符
::recv(s1,cs,strlen(cs),0); //接收来自客户端的字符串数据
GetDlgItem(IDC_TEXT)->GetWindowText(num); //获取消息显示框中原有的字符
num+="\r\n"; //添加换行符
num+=(LPTSTR)::inet_ntoa(add1.sin_addr); //将客户端IP换成字符串
num+=":\r\n"; //添加换行符
num+=(LPTSTR)cs; //将接收到的字符串添加到显示字符串
num+=":\r\n"; //添加换行符
GetDlgItem(IDC_TEXT)->SetWindowText(num); //将字符串显示到消息显示框
}
VC socket编程,数据接收问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答
悬赏问题
- ¥15 c程序不知道为什么得不到结果
- ¥40 复杂的限制性的商函数处理
- ¥15 程序不包含适用于入口点的静态Main方法
- ¥15 素材场景中光线烘焙后灯光失效
- ¥15 请教一下各位,为什么我这个没有实现模拟点击
- ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
- ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
- ¥20 有关区间dp的问题求解
- ¥15 多电路系统共用电源的串扰问题
- ¥15 slam rangenet++配置