char buff[256];
sprintf(buff,"%X%X",0x10050038,0xF4EE2A00);
send(clisock, buff,strlen(buff), 0);我想让客户端收到的数据是0x10050038,0xF4EE2A00 (8字节)
而不是转成字符串的10050038F4EE2A00(16字节)我该怎么才能把十六进制的数据发送到客户端?
sprintf(buff,"%X%X",0x10050038,0xF4EE2A00);
send(clisock, buff,strlen(buff), 0);我想让客户端收到的数据是0x10050038,0xF4EE2A00 (8字节)
而不是转成字符串的10050038F4EE2A00(16字节)我该怎么才能把十六进制的数据发送到客户端?
解决方案 »
- 如何对矩形进行排序
- 当输入变成随机的时候,程序有时等半天没有结果(通常100毫秒左右可以返回),要用什么思路进行调试?
- 高分征求问题解决办法,分要多少没有关系,要RMB也没有关系,只要能把问题解决!考验csdn论坛是否存在高手的时刻到了..
- 源代码分析:
- 在FormView或者Dialog中嵌套另外的Dialog,50分
- 如何在MFC中使用DirectSound的事件通告?
- 单文档中的statusbar的第一个pane中的内容会被tip擦掉,怎么办?
- 游戏程序员在中国的地位如何?好像没有国外的高?
- 程序加背景图吗?
- 如何让CListCtrl控件完全覆盖视图窗口?
- 我的服务(Service)程序要用到数据库,必须等到数据库服务启动了,我的服务才能启动,可是我怎么知道数据库服务启动了?
- CTime构造函数(在线等)
char buff[256];
sprintf(buff,"0x%X0x%X",0x10050038,0xF4EE2A00);
send(clisock, buff,strlen(buff), 0);
long lNumber = 0x77889900;
char *pStrNum = new char[sizeof(long)];
memcpy(pStrNum, &lNumber, sizeof(long));
send(pStrNum, sizeof(long));
delete []pStrNum;
...
char *pBuf = new char[sizeof(long)];
recv(pBuf, sizeof(long));
long lRecvNum = 0;
memcpy(&lRecvNum, pBuf, sizeof(long));
delete []pBuf;
...
不同平台直接,没有做过,我想可不可以转换成字符串
char buffer[11];
long lNumber = 0x77889900;
sprintf(buffer, "0x%08X", lNumber);
send(buffer, sizeof(buffer));
...
receive(buffer, sizeof(buffer));
long lRecvNum = 0;
sscanf(buffer,"%x",&lRecvNum);
...
char buffer[9];
long lNumber = 0x77889900;
sprintf(buffer, "%08X", lNumber);
send(buffer, sizeof(buffer));
...
receive(buffer, sizeof(buffer));
long lRecvNum = 0;
sscanf(buffer,"%x",&lRecvNum);
...
=>
sprintf(buff,"0x%X0x%X",0x10050038,0xF4EE2A00);
hexbuff[0]=0x10050038;
hexbuff[1]=0xF4EE2A00;
send(clisock, hexbuff,sizeof(hexbuff), 0);如果发送,接受都是windows或都是Unix平台,不用考虑字节顺序问题,
收到的8个字节,假如放在data中
int hexdata[2];
memcpy((char *)hexdata,data,sizeof(hexdata));
就可以看到十六进制了