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