【发布时间】:2019-10-12 20:33:51
【问题描述】:
我在玩avr-libc 2.0.0和uint64_t中的函数sprintf,好像不能正常工作。
代码
uint64_t x = 12ull;
char buffer[30];
int len = sprintf(buffer, "%llu", x);
int buffer_len = strlen(buffer);
返回len == 2(ok)和buffer_len == 0(错误!!!)。
相同的代码适用于 uint16_t 和 uint32_t(也适用于签名版本)。
有什么问题?它是 avr-libc 的 sprintf 中的错误吗? (我在 gcc 中测试了相同的代码,而不是在 avr-gcc 中,它工作正常)。
谢谢。
【问题讨论】: