整数型转字符串

1. itoa(); 参考:C 语言整数与字符串的相互转换 | 菜鸟教程 (runoob.com)

 C语言itoa()函数和atoi()函数详解(整数转字符C实现)_p312011150的博客-CSDN博客_itoa

头文件:<stdlib.h>
char* itoa(int value,char*string,int radix);
//value: 要转换的整数,string: 转换后的字符串,radix: 转换进制数,如2,8,10,16 进制等。

2.简单实现: 

/*整数转字符串
** num: 要转换的整数
** *buff:目标字符串地址
*/
int itg_to_as(int num, char* buff)
{
    int buff_list = 0;
    int num_temp = 0;
    do //取整数每位数字转换为字符,从低位到高位存储
    {
        num_temp = num % 10;
        buff[buff_list++] = '0' + num_temp;
        num = (num - num_temp) / 10;
    } while (num != 0);
    char *str = (char *)malloc(buff_list*sizeof(char));//开辟临时转存空间
    if (str == NULL)
    {
        return -1;
    }
    memcpy(str, buff, buff_list);//字符串转存
    //memset(buff,'\0',sizeof(buff));//清空目标空间
    /* 使用sizeof无法从指针获取对象大小,这里使用错误  */
    while (buff_list > 0)//字符串逆序,得到目标字符串
    {
        *buff = str[buff_list-1];
        buff++;
        buff_list--;
    }
    free(str);//释放空间
}

sizeof()用法:(9条消息) sizeof用法_田_田_田的博客-CSDN博客_sizeof用法

posted @ 2022-08-16 21:03  百叶集  阅读(558)  评论(0编辑  收藏  举报