函数identifier not found
本人初学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的用法。找不到该定义在哪个类下。
基础比较差,想了好久,都解决不了,求助,不胜感激涕零