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',...};
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)