[PSoC 1] 怎样用C语言实现整型向字符型的转换呀

[复制链接]
142|7
 楼主 | 2018-7-9 17:41 | 显示全部楼层 |阅读模式
怎样用C语言实现整型向字符型的转换呀
| 2018-7-9 17:47 | 显示全部楼层
试一下 #include "stdlib.h"  中的 itoa 函数。
| 2018-7-9 17:49 | 显示全部楼层


但是加载 stdlib 库会占用一定的 Flash 空间。
| 2018-7-9 17:52 | 显示全部楼层
可以找一下 itoa 的源码,然后自己声明一个函数,这样不用加载整个 stdlib 库。
| 2018-7-9 17:55 | 显示全部楼层
参考

/*******************************************************************************
* 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;
}

/*******************************************************************************
| 2018-7-9 17:57 | 显示全部楼层

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;
    }

}
| 2018-7-9 18:00 | 显示全部楼层
注意这里
void int_str(int i,char * str)
{
int len =0;
 楼主 | 2018-7-9 18:02 | 显示全部楼层

嗯,预料中的结果,先结贴吧,多谢大家啦
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

快速回复 返回顶部 返回列表