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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容