char转byte

chengchaog 2008-09-18 01:56:07
我通过socket收到一组数据,全部是数组,
SOCKET接收只能用char* 接收(不知道是不是);

比如我那边传过来的是10,10,10
我这边接收全部是字元了
我怎么吧字元转成10,10,10
因为我要对这些值处理

各位大大做个小例子,谢谢啦
就byte的转char 在char转byte转成数字而不是字元
...全文
4429 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
mrdone 2011-03-09
  • 打赏
  • 举报
回复
强制转换就可以实现。
yuanwx_ 2009-06-16
  • 打赏
  • 举报
回复
char a = 'd';
byte* b = (byte *)(&a);

这样就行了吗??
scq2099yt 2008-09-18
  • 打赏
  • 举报
回复
这是BYTE的定义
typedef unsigned char BYTE;
oh_my_god 2008-09-18
  • 打赏
  • 举报
回复
char是signed char,byte 是unsigned char,在C里面都是一个字节,网络编程的时候强制转换一下就可以了,或者干脆memcpy一下,把byte数组里面的拷贝到char数组里面.
int是4个字节,你要把这组数据里面的char数组转换为 int,可以 int x=chararray[0]<<24+chararray[1]<<+chararray[2]<<8+chararray[3]
lhsxsh 2008-09-18
  • 打赏
  • 举报
回复
是高底字节的问题,
byte不是C、C++的类型(char)
fengogo 2008-09-18
  • 打赏
  • 举报
回复
你发送的时候可以把整数发送出去啊. 要转换的话, 有itoa, atoi 等函数.
chengchaog 2008-09-18
  • 打赏
  • 举报
回复
问题是,我char存的是字元,我要当作int去处理,没办法处理啊,兄弟
fengogo 2008-09-18
  • 打赏
  • 举报
回复
把char* 强制转换为byte* 就行了. 不要把char硬与字符等同起来. char[4],有4个字节,也可以放个整数嘛, int 占四个字节,不也可以放四个ASCII字符吗? 内存可不认识什么类型, 所以当你定义 char buf[100], 可别以为这个buf里面一定只能放字符, 你也可以放个结构体进去,只要你有了指针,就可以任意解释这个buf的内容. int *a = (int *)buf; int *b = (int *)&buf[4]; ...
zhoujianhei 2008-09-18
  • 打赏
  • 举报
回复
byte和char都是一样的。
你看一下BYTE的定义就知道啦。

bingway 2008-09-18
  • 打赏
  • 举报
回复
自己写个类
class LongChar
{
public:
char c;
LongChar(byte p)
{
c=char.Convert(p);
}
}
不过不能从根本上解决问题;
byte始终是byte
char始终是char
即便扩展了char的位数.你也扩展不了ASCII码表

18,356

社区成员

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

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