函数identifier not found

jupiter89 2013-01-07 03:41:28
本人初学wince下api编程,在写一个串口通信的程序时,需要把16进制字符串转为数值数组,学习了网上一个方法。
在send线程函数上面定义了将ASCII码转化为16进制数的函数
BYTE ConvertHexChar(BYTE ch)
{
if((ch>='0')&&(ch<='9'))
return ch-0x30;
else if((ch>='A')&&(ch<='F'))
return ch-'A'+10;
else if((ch>='a')&&(ch<='f'))
return ch-'a'+10;
else
return -1;
}
然后在send线程函数中添加

CString str ="01 02 03 04";
BYTE tmpByte = 0x00;
int strLen = str.GetLength();
BYTE cmd[1024];
memset(cmd, '\0', sizeof(cmd));

for (int i=0, j=0; i<1024,j<strLen; i++,j++)
{
if (str[j] == ' ')
++j;
tmpByte = str[j];
cmd[i] = ConvertHexChar(tmpByte)<<4;//左移4位
if (str[++j] == ' ')
++j;
tmpByte = str[j];
cmd[i] = cmd[i] + (ConvertHexChar(tmpByte) & 0xF);//取低4位然后相加。
}

编译结果总是提示。‘ConverHexChar’:identifier not find
也网上搜索了下,大体都说缺少头文件或者没有类中定义,比如说应该
BYTE CSendDataDlg::ConvertHexChar(BYTE ch),但我做的是api编程,这是mfc的用法。找不到该定义在哪个类下。
基础比较差,想了好久,都解决不了,求助,不胜感激涕零
...全文
498 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
jupiter89 2013-01-07
  • 打赏
  • 举报
回复
还想请教下,单片机返回十六进制数值数组的话,是怎样显示在wince设备上的呢,是不是先把数组转换为字符串,然后再ascII转换为unicode
jupiter89 2013-01-07
  • 打赏
  • 举报
回复
我擦,貌似是的。坑爹了,感谢。我太水了
这不是鸭头 2013-01-07
  • 打赏
  • 举报
回复
ConverHexChar ? ConvertHexChar 函数名写错了?

16,472

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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