BYTE[]数组问题

moondairy 2008-09-22 04:33:42
BYTE Bytes[] = {'A','T','D','T','*','9','9','#',0x0D};
如何把CHAR型的字符串(红色部分)转换为上面的BYTE数组类型.(A,T,D,T,*,9,9,#,0x0D) .

以下是我自己写的,结果应该不太对,Bytes数组用在 WriteFile(hPort,Bytes,BytesSize, &dwNumBytesWritten,NULL); 打开串口函数.
0x0D是回车,主要是0x0D执行不到?? 求教,谢谢大家.

CHAR *sCommand = "A,T,D,T,*,9,9,#,!";
BYTE Bytes[128];
int j = 0;
for(int i =0 ;i < strlen(sCommand);i++)
{
if(sCommand[i] != ',')
{
if(sCommand[i] == '!')
{
Bytes[j] = 0x0D;
}
else
{
Bytes[j] = (BYTE)sCommand[i];
j++;
}

}

}
...全文
115 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
moondairy 2008-09-22
  • 打赏
  • 举报
回复
多谢各位的帮助,问题基本解决了,再次感谢.结帖
CHAR *sCommand = cName.ReadText(23);
BYTE Bytes[128];
int aa[128];
int j = 0;
for(int i =0 ;i < strlen(sCommand);++i)
{
if(sCommand[i] != ',')
{
if(sCommand[i] == '!')
{
aa[j] = 0x0D;
Bytes[j] = aa[j];
}
else
{
aa[j] = sCommand[i];
Bytes[j] = aa[j];
j++;
}

}
}
rollrock1987 2008-09-22
  • 打赏
  • 举报
回复
你把 char 赋值给一个 char类型的数组,那就成了一个字符串了
所以 我在这里用了一个 中转的 数组,是int类型的 int类型和 char类型是通的
看看 保证行

还有 BYTE Bytes[128] = {0}; 并不是必要的

CHAR *sCommand = "A,T,D,T,*,9,9,#,!";
BYTE Bytes[128];
int aa[128];
int j = 0;
for(int i =0 ;i < strlen(sCommand);++i)
{
if(sCommand[i] != ',')
{
if(sCommand[i] == '!')
{
aa[j] = 0x0D;
}
else
{
aa[j] = sCommand[i];
Bytes[j]=aa[j];
j++;
}

}
}

for(int i =0 ;i < strlen(sCommand);++i)
{
cout<<Bytes[i]<<endl;
}
moondairy 2008-09-22
  • 打赏
  • 举报
回复
前面的是字符串,我是想执行atdt*99#然后再执行0x0D回车.前面一位大哥的好像也不行...刚刚测试了一下.

直接用下面一句是可以的.但是下面的字符串我是从ini文件拿出来的,所以需要转换.但是老是执行不到 0x0D.

BYTE Bytes[] = {'A','T','D','T','*','9','9','#',0x0D};
lzr4304061988012 2008-09-22
  • 打赏
  • 举报
回复
LS都不是错误,没看出哪错了...
rollrock1987 2008-09-22
  • 打赏
  • 举报
回复
Bytes[j] = (BYTE)sCommand[i]; 你这个 赋值是什么??是字符串了吧大哥??
minorcxx 2008-09-22
  • 打赏
  • 举报
回复
CHAR sCommand[] = "A,T,D,T,*,9,9,#,!";
BYTE Bytes[128] = {0};
int j = 0;
for(int i =0 ;i < strlen(sCommand);i++)
{
if(sCommand[i] != ',')
{
if(sCommand[i] == '!')
{
Bytes[j] = 0x0D;
}
else
{
Bytes[j] = (BYTE)sCommand[i];
j++;
}

}

}

64,654

社区成员

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

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