printf 格式化挑戰:處理uint64_t
在嘗試列印uint64_t 變數時,您可能會遇到類似以下內容的錯誤訊息: 「spurious格式尾隨'%'。」此問題出現的原因是依賴ISO C99 標準的格式宏,而這些宏並未普遍定義。
解決方案在於明確請求這些巨集的定義。操作方法如下:
設定__STDC_FORMAT_MACROS 定義
將下列行加入程式碼頂部:
#define __STDC_FORMAT_MACROS
此定義指示的格式宏,確保PRIu64 宏被辨識並可供使用。
一旦此定義到位,以下程式碼將成功編譯:
#include <inttypes.h> #include <stdio.h> int main() { uint64_t ui64 = 90; printf("test uint64_t : %" PRIu64 "\n", ui64); return 0; }
透過指定__STDC_FORMAT_MACROS 定義,您可以確保uint64_t 變數的格式正確並列印,從而解決您之前遇到的問題。
以上是為什麼我的程式碼無法列印帶有'格式中虛假尾隨'%'”的 uint64_t?的詳細內容。更多資訊請關注PHP中文網其他相關文章!