c语言int类型转换字符串

Posted 吾乃世间奇才

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c语言int类型转换字符串相关的知识,希望对你有一定的参考价值。

/* 参数:
 *      arr: 接收一个数组或者已经分配内存的char指针
 *
 *      arr_size: arr所指向的地址所分配的长度,长度不够会导致截断
 *
 *      num: 需要转换的数字,范围通常是-2147483648~2147483647, 详情参见<litmits.h>的INT_MAX
 *
 * 返回值:
 *      成功执行,则返回填充的字节数, 不包括'\\0', 如果num是一个负数,那么包括负号'-'
 *
 *      执行失败,则返回一个负数,如下:
 *                                      -1 : arr_size传入错误
 *
 * 欢迎反馈BUG或者提建议
 *
 */
 
int int_to_char(char *arr, int arr_size, int num)
{
        if(arr_size <= 0)
        return -1;

        int i=0;
        /*待填充字符的下标*/

        int symbol = 1;
        int base = 1;

        if(num < 0){
                *(arr+0)='-';
                i++;
                symbol = -1;
        }

                while(num/base >= 10 || num / base <= -10)
                        base *= 10;
                /* 计算num的基数base, 例如:
                 * num = 0  , base = 1;
                 * num = 112, base = 100;
                 * num = -3400, base = 1000;
                 */

                for(; i < arr_size - 1 && base != 0; i++){
                        *(arr+i) = (num / base)*symbol + 48;
                        num    %= base;
                        base   /= 10;
                }
        *(arr+i) = '\\0';
        return i;
}


以上是关于c语言int类型转换字符串的主要内容,如果未能解决你的问题,请参考以下文章

c语言 所有类型转换函数

c语言 所有类型转换函数

C语言 int转char

c语言int类型转换字符串

c语言中如何将 int转化为string 类型

请问C语言中如何将int转换为float