为什么只能得出第一个字符,后面的全不见了,环境是VS2005

yuguo138 2006-11-22 05:18:59
char *buf=new char[1024];
CString out;
int cc;
cc=m_connectsocket.Receive(buf,1024);
if(cc!=SOCKET_ERROR)
{
buf[cc]=NULL;
out=buf;
CString msg;
CString from;
int len=out.GetLength();
msg=out.Right(len-3);

if(server){
from="客户机:";
}
else{
from="服务器:";
}
msg=from+msg;
m_listmsg.AddString(msg);

为什么只能得出第一个字符,后面的全不见了,环境是VS2005
...全文
90 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
shawnwan 2006-11-22
  • 打赏
  • 举报
回复
如果传递过来的数据中间有‘\0’就是这个结果啊,GetLength 只能处理到 ‘\0’结束的地方

18,357

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧