printf 如何正確填寫(xiě)格式化字符串
由于同樣是int_64_t 在xcode里和linux里盐股,格式化寫(xiě)法不同侄非,導(dǎo)致同一個(gè)寫(xiě)法 比如lld睡扬,在linux可以編譯通過(guò)谬哀,在xcode里編譯不通過(guò)。
所以建議使用宏定義方式打印
如:
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++庫(kù):
使用POCO沒(méi)有這個(gè)問(wèn)題茬斧,因?yàn)樗姓麛?shù)的格式化都是 %?i