请教BYTE* 如何转化为 char *

timsx123 2010-06-22 03:46:05
如题,现有一个BYTE *类型变量存储的数据,需要以char *方式作为参数传递,请问如何进行转换,本人是新手,请大家多多指教~~谢谢!~
...全文
1465 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
走好每一步 2010-06-22
  • 打赏
  • 举报
回复
不知道楼主转换来干嘛用?
你这样说谁知道你在说啥?
架构の美 2010-06-22
  • 打赏
  • 举报
回复
?????
刀仔割大树 2010-06-22
  • 打赏
  • 举报
回复
强制转换。。。
x_todoo 2010-06-22
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 timsx123 的回复:]
可是我这样转换之后,编译通过了,可是s的长度和内容跟p的差别很大啊,我的BYTE p应该长度为2000多,转换为char之后长度只有10不到了,这是怎么回事呢...
[/Quote]

用内存拷贝
memcpy

ps:strlen计算长度遇0截断
xjpzy 2010-06-22
  • 打赏
  • 举报
回复
强制转换,2楼正解
jackyloncoln 2010-06-22
  • 打赏
  • 举报
回复
#define unsigned char BYTE;
aqiu348503 2010-06-22
  • 打赏
  • 举报
回复
BYTE应该是unsighed char
itegel84 2010-06-22
  • 打赏
  • 举报
回复
C语言没有BYTE这个类型。
应该是宏定义的,应该就是char
zbtong227 2010-06-22
  • 打赏
  • 举报
回复
SIM_X131E_B01
yyx1314 2010-06-22
  • 打赏
  • 举报
回复
强转是都没问题的。。。

如果数据不是字符串,长度计算用原先BYTE的长度。
xllclever 2010-06-22
  • 打赏
  • 举报
回复
可以来一个循环 然后一点一点赋值,
byte 保存的是二进制的, 当赋值给char* 是遇到0的 char* 就截断了
steel1985 2010-06-22
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 azure110 的回复:]
引用 1 楼 healer_kx 的回复:
BYTE* p = 。。。
char* s = (char*)p;
仅此而已。。。
........
[/Quote]

强转
失落的凡凡 2010-06-22
  • 打赏
  • 举报
回复
BYTE应该实际上就是char 转换的关键在于这个BYTE的数组里是怎么存贮数据的 ,数据是怎么组织的。如果数据就是c字符串 那么直接强转就行了。如果不是 ,还就要费一点工夫了
timsx123 2010-06-22
  • 打赏
  • 举报
回复
可是我这样转换之后,编译通过了,可是s的长度和内容跟p的差别很大啊,我的BYTE p应该长度为2000多,转换为char之后长度只有10不到了,这是怎么回事呢...
mskmc_mc 2010-06-22
  • 打赏
  • 举报
回复
强制类型转换
azure110 2010-06-22
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 healer_kx 的回复:]
BYTE* p = 。。。
char* s = (char*)p;
仅此而已。。。
[/Quote]........
gz_qmc 2010-06-22
  • 打赏
  • 举报
回复
同意楼上的意见
healer_kx 2010-06-22
  • 打赏
  • 举报
回复
BYTE* p = 。。。
char* s = (char*)p;
仅此而已。。。

64,642

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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