1、printf问题
printf有连带错误机制,同一个printf中前面的打印错误会导致后面的打印都错误; 因此printf打印出现乱码的时候,需要查看变量类型及其打印格式。打印乱码可能情况如图:
1.1 uint64_t打印方法
#include <stdio.h>
#include <inttypes.h>
int main(int argc, char *argv[])
{
uint64_t u64 = 100;
printf("uint64: %"PRIu64"\n", u64);
// printf("uint64: %lu\n", u64); x86_84
// printf("uint64: %llu\n", u64); x86
return 0;
}
在inttypes.h 定义了: #define PRIu64 “llu”
除了PRIu64外,inttypes.h还定义了其它数据类型对应的宏。另外,如果是c++程序,需要定义__STDC_FORMAT_MACROS宏。
参考网址:https://blog.csdn.net/qq_31360933/article/details/79314988
参考网址:https://www.cnblogs.com/xlmeng1988/archive/2012/06/06/PRIu64.html