send()或recv()函数问题。

buptzwp 2009-07-09 10:19:44
char buffer[1024];
char temp[1024];
int rcv = recv(s,buffer,1024, 0);
iEnd = send(pDlg->m_hSocket, temp, ilen,0);
这里面的第二个参数要求是char *,如果要发送或是接收unsigned char *型的怎么办呢?强制转成char *,信息会不会丢失?
...全文
30 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
mmxqq 2009-07-09
  • 打赏
  • 举报
回复

mark
blackcat242 2009-07-09
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 buptzwp 的回复:]
引用 1 楼 blackcat242 的回复:

不会的,只是二进制的东西,不根据他的类型改变的


是不是这样就可以了:
unsigned char buffer[1024];
int rcv = recv(s,(char *)buffer,1024, 0);
[/Quote]
可以的,直接用char也是可以的
  • 打赏
  • 举报
回复
两个类型都是一个字节,所以不用担心转换回丢失信息!
buptzwp 2009-07-09
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 blackcat242 的回复:]
不会的,只是二进制的东西,不根据他的类型改变的
[/Quote]

是不是这样就可以了:
unsigned char buffer[1024];
int rcv = recv(s,(char *)buffer,1024, 0);
blackcat242 2009-07-09
  • 打赏
  • 举报
回复
不会的,只是二进制的东西,不根据他的类型改变的
BCAN98 2009-07-09
  • 打赏
  • 举报
回复
直接用char也可以,接受数据只是一些二进制代码,类型可以随便转

18,356

社区成员

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

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