单片机/MCU论坛
直播中

最强海贼王

9年用户 1450经验值
擅长:MEMS/传感技术
私信 关注
[问答]

c51不使用sprintf怎么转换成字符串?

[i][i]
不使用sprintf怎么转换?     

回帖(1)

马杰

2023-10-25 15:40:18

  • 有一个itoa函数可以参考自己实现如下:

    int itoa(int inchar * out){ // 返回值如果为-1表示转换出错,否则大于0,表示位数,最高9位负数,以及符号位,共10位字符。
    int len=0;
    int flag=0;
    int outC=0;
    char tmpS[ 9={0};
    if(in==0) {
    out[0='0';
    return 1;
    }
    if (in<0) { //处理负数
    in=in*(-1);
    flag=1;
    out[0='-';
    outC++;
    }
    do{ // 处理一般数
    tmpS[len++='0'+in%10;
    }while(in=in/10);
    if(len>9) return -1; //报错情况
    while(len>0){ // 数据输出处理
    out[ outC++ ] = tmpS[ --len ];
    }
    return outC;
    }

                   
举报

更多回帖

发帖
×
20
完善资料,
赚取积分