大家帮忙看看

zengzhimin1980 2009-08-08 04:11:33
SOCKET s=((ThreadParam*)lpParameter)->s;
HWND h=((ThreadParam*)lpParameter)->hWndq;
CEdit* sendBox=((ThreadParam*)lpParameter)->sendBox;

char rec[100],tmp[100];

sockaddr_in sAddrInRec;
sAddrInRec.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
sAddrInRec.sin_family=AF_INET;
sAddrInRec.sin_port=htons(6000);

int len=sizeof(sockaddr);

while(true)
{
recvfrom(s,rec,sizeof(rec),0,(sockaddr*)&sAddrInRec,&len);
sprintf(tmp,"%s 说:%s \r\n",inet_ntoa(sAddrInRec.sin_addr),rec);
sendBox->SetWindowText(tmp);

}


我想把其中的char 类型 换成CString ,我尝试了很够也未成功,求教!
...全文
43 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
直接赋给CString就可以了
favorxx 2009-08-08
  • 打赏
  • 举报
回复
不知道你想换哪部分,定义缓冲区一般都要指定大小,char rec[100],tmp[100]; 这个就别换了吧

如果是为了显示或者利用string非转不可,就用
String str;
str.Format("**",**);
副组长 2009-08-08
  • 打赏
  • 举报
回复
用char不是挺好的吗,干嘛要换?
fishion 2009-08-08
  • 打赏
  • 举报
回复
strTemp.Format
xylicon 2009-08-08
  • 打赏
  • 举报
回复
CString strRec, strTmp;
const int MAX_CHAR 100;
while(true)
{
recvfrom(s,strRec.GetBuffer(MAX_CHAR), MAX_CHAR,0,(sockaddr*)&sAddrInRec,&len);
sprintf(strTmp.GetBuffer(MAX_CHAR),"%s 说:%s \r\n",inet_ntoa(sAddrInRec.sin_addr),strTmp.GetBuffer(MAX_CHAR));
sendBox->SetWindowText(strTmp);

}

15,979

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 界面
社区管理员
  • 界面
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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