默认如果使用以下代码打印int64
int64_t data64 = 5; printf("%lld", data64); 只能得到一条打印信息“ld”, 为什么是这样的结果呢? 因为在编译时默认使用的是newlib-nano库,这个库是经过精简的,为了占用更少的内存和flash。那么如果需要打印int64/uint64,有什么办法呢?下面介绍两种方法: 1. 添加一个接口,将int64/uint64转为字符串再打印 char *ui64toa(uint64 value, char *string, int radix)
{
char buf[68];
int8 len = 0;
int8 pos = 0; if (radix < 2 || radix > 36)
string[pos] = 0;
|