有没有一个函数能实现以下功能

[复制链接]
1560|7
 楼主| morrisk 发表于 2013-2-21 22:07 | 显示全部楼层 |阅读模式
void LcdShowString(uchar ucCharRow, uchar ucCharCol, uchar *DispString)
void LcdShowString(uchar ucCharRow, uchar ucCharCol, uchar *DispString)
{
     uchar   uci;
     uchar   ShowBuff[2];
     uchar   ucStringLength;
     ucStringLength = strlen(DispString);
     for(uci = 0; uci < ucStringLength; )
     {  
         if (DispString[uci] <= 0x80)   //english
         {
             ShowBuff[0] = DispString[uci];
             ShowBuff[1] = 0x00;
             ShowWord(ucCharRow,( ucCharCol + uci), ShowBuff);
             uci += 1;
         }
         else //hanzi
         {
             ShowBuff[0] = DispString[uci];
             ShowBuff[1] = DispString[uci + 1];
             ShowWord(ucCharRow,( ucCharCol + uci), ShowBuff);
             uci += 2;
         }
         //超出LCD显示范围时,截尾。
         if((ucCharCol+uci)>c_LCD_MaxColNumber)
         {
             break;
         }
     }
}

一般在应用时候都是: LcdShowString(2,0,"abcd");
   LcdShowString(3,0,"某某汉字");
请问有没有一个函数能实现以下功能:例如:uchar temp = 2;
LcdShowString(2,0,(temp));同样也能实现显示数字2
zyf部长 发表于 2013-2-21 22:07 | 显示全部楼层
当然可以,你先把数字转成字符串即可。
 楼主| morrisk 发表于 2013-2-21 22:08 | 显示全部楼层
为什么keil里面没有itoa函数啊!能不能意见用什么函数吗?
zyf部长 发表于 2013-2-21 22:09 | 显示全部楼层
可以用sprintf
 楼主| morrisk 发表于 2013-2-21 22:10 | 显示全部楼层
sprintf有点不方便!
 楼主| morrisk 发表于 2013-2-21 22:10 | 显示全部楼层
寻求C人帮助啊!
怎么把一整数转换为字符串!
char *itoa(char *s)
   {   
         
   uchar str[] = {'1','2','\0'};
         *s =(str[1])        ;
                 return s   ;
   }
这么可以返回正确的
char *itoa(char *s) // 将一个整数按指定的格式转化为ASII字符串并返回  
   {   
         
                   uchar str[] = {'1','2','\0'};
         *s++ =(str[1])        ;
                 *s++ = (str[0]);
                 *s = '\0';
                 return s   ;
   }
但是这么处理就错误了!
头痛啊!能帮帮我吗?
小小猫咪 发表于 2013-2-21 22:12 | 显示全部楼层
*(s++)
 楼主| morrisk 发表于 2013-2-21 22:12 | 显示全部楼层
算了,结贴吧,我自己再看看
您需要登录后才可以回帖 登录 | 注册

本版积分规则

701

主题

6879

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部