使用sprintf将long int转换为ASCII

时间:2015-02-12 06:10:40

标签: c

我想使用sprintf将长整数转换为ASCII值,例如,如果long int val = 40000,我使用

sprintf(buff, "%ld", val);
printf(%s\n", buff);

仅打印d而不是40000。   如果我改为无符号长,

sprintf(buff, "%lu", val);
printf(%s\n", buff);

只打印你。编译器/ ToolChain有问题吗?

1 个答案:

答案 0 :(得分:0)

您可以参考this

void UlToStr(char *s, unsigned long bin, unsigned char n)
{
    s += n;
    *s = '\0';

    while (n--)
    {
        *--s = (bin % 10) + '0';
        bin /= 10;
    }
}