|
|
问题大致如下:
这是一个类似于输入框的程序,当键盘输入数字时,输入框的数字会在后面追加一位,当输入擦除键的时候,输入框的数字会删除最后一位。
下面的程序中:
strNumValue是一个unsigned char类型的公共字符数组变量
strNum是输入的数字,是unsigned char类型的字符变量
编译时,无法通过,提示strlen(strNumValue)函数从unsigned char*到const char*非法转换。
请高手看看问题出在哪里了,怎么改?
- unsigned char strNumValue[5];
- //……
- void SetNumValue( unsigned char strNum )
- {
- if(strNum=='-')
- {
- strNumValue[strlen(strNumValue)-1] = '\0';//将数组的最后一个数字字符改为结束标记
- }
- else
- {
- strcat(strNumValue,strNum);
- }
- //……
复制代码
unsigned char strNumValue[5];
……
void SetNumValue( unsigned char strNum )
{
if(strNum=='-')
{
strNumValue[strlen(strNumValue)-1] = '\0';//将数组的最后一个数字字符改为结束标记
}
else
{
strcat(strNumValue,strNum);
}
…… |
|