我想使用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有问题吗?
答案 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;
}
}