VC++6.0 合并多个BYTE数组

狰鸩的快乐 2019-12-14 03:34:42
网上扒了好久基本都是java的...特殊原因要用的这么老的编程软件,求大神们指点
...全文
166 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
狰鸩的快乐 2019-12-16
  • 打赏
  • 举报
回复
真是小白问题了....我现在用了最简单的for循环来合并,但是字符串很多,嫌麻烦就自己定义了一个函数来操作
void CPage1::MergeByte(BYTE Merge[100],int Length1,BYTE Merged[100],int Length2)
{
int i;
for(i=0;i<Length2;i++)
{
Merge[i+Length1]=Merged[i];
}
}

但是
MergeByte(SInform[100],0,Head[6],6);时
会报错'MergeByte' : cannot convert parameter 1 from 'unsigned char' to 'unsigned char []'
我应该在哪里进行类型强转呢?有点懵
狰鸩的快乐 2019-12-16
  • 打赏
  • 举报
回复
还有一个问题,我在Edit框里读取1 0 1,如何在发送时发送0x01,0x00, 0x01呢?
狰鸩的快乐 2019-12-16
  • 打赏
  • 举报
回复
引用 7 楼 我叫侯万楼 的回复:
[quote=引用 6 楼 狰鸩的快乐 的回复:]
[quote=引用 5 楼 狰鸩的快乐 的回复:]
[quote=引用 4 楼 我叫侯万楼 的回复:]
传数组的首地址
void CPage1::MergeByte(BYTE Merge[100],int Length1,BYTE Merged[100],int Length2)
->
void CPage1::MergeByte(BYTE Merge*,int Length1,BYTE Merged*,int Length2)


在此感谢大佬,能再问您一个问题吗?

我有一个BYTE数组{1,0,1},想将它通过串口发送01,00,01,但是我看串口监控,发送的是ASCII码31,30,31,我该怎么操作数组才能让他发送0x01,0x00,0x01呢?[/quote]

解决了,BCD = ASCII -0x30;

自己的基础太差了...[/quote]


BYTE by[] = {0x01, 0x00, 0x01}; or
BYTE by[] = {1, 0, 1};
不要
BYTE by1[] = {'1', '0', '1'};

[/quote]再次对大佬表示感谢!可以加个好友吗?有问题随时请教您
我叫侯万楼 2019-12-16
  • 打赏
  • 举报
回复
引用 6 楼 狰鸩的快乐 的回复:
[quote=引用 5 楼 狰鸩的快乐 的回复:] [quote=引用 4 楼 我叫侯万楼 的回复:] 传数组的首地址 void CPage1::MergeByte(BYTE Merge[100],int Length1,BYTE Merged[100],int Length2) -> void CPage1::MergeByte(BYTE Merge*,int Length1,BYTE Merged*,int Length2)
在此感谢大佬,能再问您一个问题吗? 我有一个BYTE数组{1,0,1},想将它通过串口发送01,00,01,但是我看串口监控,发送的是ASCII码31,30,31,我该怎么操作数组才能让他发送0x01,0x00,0x01呢?[/quote] 解决了,BCD = ASCII -0x30; 自己的基础太差了...[/quote] BYTE by[] = {0x01, 0x00, 0x01}; or BYTE by[] = {1, 0, 1}; 不要 BYTE by1[] = {'1', '0', '1'};
狰鸩的快乐 2019-12-16
  • 打赏
  • 举报
回复
引用 5 楼 狰鸩的快乐 的回复:
[quote=引用 4 楼 我叫侯万楼 的回复:]
传数组的首地址
void CPage1::MergeByte(BYTE Merge[100],int Length1,BYTE Merged[100],int Length2)
->
void CPage1::MergeByte(BYTE Merge*,int Length1,BYTE Merged*,int Length2)


在此感谢大佬,能再问您一个问题吗?

我有一个BYTE数组{1,0,1},想将它通过串口发送01,00,01,但是我看串口监控,发送的是ASCII码31,30,31,我该怎么操作数组才能让他发送0x01,0x00,0x01呢?[/quote]

解决了,BCD = ASCII -0x30;

自己的基础太差了...
狰鸩的快乐 2019-12-16
  • 打赏
  • 举报
回复
引用 4 楼 我叫侯万楼 的回复:
传数组的首地址
void CPage1::MergeByte(BYTE Merge[100],int Length1,BYTE Merged[100],int Length2)
->
void CPage1::MergeByte(BYTE Merge*,int Length1,BYTE Merged*,int Length2)


在此感谢大佬,能再问您一个问题吗?

我有一个BYTE数组{1,0,1},想将它通过串口发送01,00,01,但是我看串口监控,发送的是ASCII码31,30,31,我该怎么操作数组才能让他发送0x01,0x00,0x01呢?
我叫侯万楼 2019-12-16
  • 打赏
  • 举报
回复
传数组的首地址 void CPage1::MergeByte(BYTE Merge[100],int Length1,BYTE Merged[100],int Length2) -> void CPage1::MergeByte(BYTE Merge*,int Length1,BYTE Merged*,int Length2)

33,311

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 新手乐园
社区管理员
  • 新手乐园社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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