c语言int型十进制数转char字符串

c语言int型十进制数转char字符串,第1张

int型十进制数转char字符串:

void val_deal(int val,char *c,int *maxdepth_p,int *buf_nr_p){
        int depth=0;
        int tempp=10;
        int temp=val;
        while(temp>=10){
                temp=temp/10;
                depth++;
        }
        if(*maxdepth_p==-1){
                (*maxdepth_p)=depth;
                for(int i=*(buf_nr_p);i<=*(buf_nr_p)+depth;i++){
                    *(c+i)='0';
                }
        }
        *(c+*(buf_nr_p)+*maxdepth_p-depth)=temp+48;
        for(int i=0;i0){
                val_deal(val-temp*tempp,c,maxdepth_p,buf_nr_p);
        }
};
void val_deal_tool(int val,char *c,int *buf_nr_p){
        int t_maxdepth=-1;
        if(val>=0){
                val_deal(val,c,&t_maxdepth,buf_nr_p);
                *buf_nr_p=*buf_nr_p+t_maxdepth+1;
        }else{
                *(c+buf_nr)='-';
                (*buf_nr_p)++;
                val_deal(-val,c,&t_maxdepth,buf_nr_p);
                *buf_nr_p=*buf_nr_p+t_maxdepth+2;
        }

}


//使用方式:
//调用val_deal_tool()
//其中,val为待转换的十进制数(正/负),c为用来保存转换结果的字符串数组地址,buf_nr_p为保存写入起始位置的指示变量指针。
//例:
int main(){
    int index=0;
    int val=8524;
    char result[200]={};
    val_deal_tool(val,result,&index);
    return 0;
}

//运行后 result为{'8','5','2','4',...};

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/713809.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-24
下一篇 2022-04-24

发表评论

登录后才能评论

评论列表(0条)

保存