如何在服务器端将一个整数(32位int型)写入字字流中,在客户端将其正确的解析出来?急,在线等立即给分!!
解决方案 »
- 有关activex控件实现IObjectSafetyImpl接口的问题
- 在main函数中设置了一个system("pause"),实际运行中却出现了两个是怎么回事?
- VC++ 复选框按钮按下时改变显示名称怎么做
- VC MFC 对话框程序改变窗口大小
- 超级简单,MFC 怎么获取 资源里的图片啊?我要图片的类型为BITMAP的,谢谢
- 得到指针
- 怎样恢复VC6的默认窗口布局?窗口被我搞乱,恢复不过来了!
- 怎样编程获得网卡地址??
- 关于SendMessage()的不理解的问题???????????
- 在线等马上结,一个小问题.
- 如何用对话框模拟文档/视图结构
- 请各位大虾就以下职位发表薪水要求,不胜感激!
int i=123456;
int *pi=&i;
//第一个参数强制类型转换,第二个参数是字节数
XXXXXXX.send((byte *)pi,sizeof(int));
……接收方:
byte pBuf[4];
XXXXXXX.Receive(pBuf,4);
//强制类型转换
int *pi=(int)pBuf
//得到32为的i(你的操作系统是32位这个i就是32位)
int i=*pi;
int i=123456;
int *pi=&i;
//第一个参数强制类型转换,第二个参数是字节数
XXXXXXX.send((byte *)pi,sizeof(int));
……接收方:
……
byte pBuf[4];
XXXXXXX.Receive(pBuf,4);
//强制类型转换
int *pi=(int*)pBuf//得到32为的i(你的操作系统是32位这个i就是32位)
int i=*pi;
……
PBYTE pk;
int input1=123456,input2=345678;
int *p1
p1=&input1;
memcpy(pk,p1,4);
pk+=4;
p1=&input2;
memcpy(pk,p1,4);读出字节流
PBYTE pk;
output1=static_cast<int>(*pk);
pk+=4;
output2=static_cast<int>(*pk);当整数input1小于256时编码和解码正常,大于256时output1以256取模,始终小于256。
你把PBYTE pk;换成 BYTE pk[10];试试
读出字节流
PBYTE pk;
output1=*(static_cast<int*>(pk));
pk+=4;
output2=*(static_cast<int*>(pk));
PBYTE pTemp = pk; int input1 = 123456, input2 = 345678;
int *p1; p1 = &input1;
memcpy(pTemp, p1, 4);
pTemp += 4;
p1 = &input2;
memcpy(pTemp, p1, 4);
pTemp = pk;
cout << *((int*)pTemp) << endl;
pTemp += 4;
cout << *((int*)pTemp) << endl;就可以了。