打印

C语言实现整型向字符型的转换

[复制链接]
440|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
hanwe|  楼主 | 2015-6-7 20:30 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在PSOC中,怎样用C语言实现整型向字符型的转换呀!
沙发
yufe| | 2015-6-7 20:31 | 只看该作者
试一下 #include "stdlib.h"  中的 itoa 函数。

使用特权

评论回复
板凳
llia| | 2015-6-7 20:31 | 只看该作者
但是加载 stdlib 库会占用一定的 Flash 空间。

使用特权

评论回复
地板
yufe| | 2015-6-7 20:31 | 只看该作者
可以找一下 itoa 的源码,然后自己声明一个函数,这样不用加载整个 stdlib 库。

使用特权

评论回复
5
wangpe| | 2015-6-7 20:32 | 只看该作者
参考

/*******************************************************************************
* Function Name: customize_itoa
********************************************************************************
* Summary:
*    This is a simple function to convert int to ascii code
*
* Parameters:  
*
* Return:
*
*******************************************************************************/
char *customize_itoa(int num,char *str,int radix)
{
    char index[]="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
    unsigned unum;
    int i=0,j,k;
    if(radix==10&&num<0)
    {
        unum=(unsigned)-num;
        str[i++]='-';
    }
    else unum=(unsigned)num;

    do
    {
        str[i++]=index[unum%(unsigned)radix];
        unum/=radix;
    }while(unum);
    str[i]='\0';

    if(str[0]=='-') k=1;
    else k=0;

    char temp;
    for(j=k;j<=(i-k-1)/2.0;j++)
    {
        temp=str[j];
        str[j]=str[i-j-1];
        str[i-j-1]=temp;
    }
    return str;
}

/*******************************************************************************

使用特权

评论回复
6
langgq| | 2015-6-7 20:32 | 只看该作者
void int_str(int i,char * str)
{
int len =0;
int j;
char c;   
  while(i>0)
    {
          str[len++] = i%10 +'0';
          i= i/10;
     }
     str[len] = '\0';

     for(j=0;j<len/2;j++)
   {
      c = str[j];
      str[j] = str[len-j];
      str[len-j] = c;
    }

}

使用特权

评论回复
7
wangzsa| | 2015-6-7 20:32 | 只看该作者
注意这里
void int_str(int i,char * str)
{
int len =0;

使用特权

评论回复
8
hanwe|  楼主 | 2015-6-7 20:33 | 只看该作者
哦,我看下哈

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

979

主题

8749

帖子

4

粉丝