printf格式化不同整数类型的方法

printf 如何正确填写格式化字符串

由于同样是int_64_t 在xcode里和linux里,格式化写法不同,导致同一个写法 比如lld,在linux可以编译通过,在xcode里编译不通过。
所以建议使用宏定义方式打印

如:

int32_t   PRId32
int64_t   PRId64

uint32_t   PRIu32
uint64_t   PRIu64

格式化字符串中需要加上前后空格:

" PRId32 "
  int64_t test_time;
uint64_t test_ts;
    printf("time:%" PRIu64 "ts:%" PRIu64 "", test_time, test_ts);

推荐使用POCO C++库:
使用POCO没有这个问题,因为所有整数的格式化都是 %?i

你可能感兴趣的:(printf格式化不同整数类型的方法)