首頁 > 後端開發 > C++ > 主體

為什麼我的程式碼無法列印帶有'格式中虛假尾隨'%'”的 uint64_t?

Barbara Streisand
發布: 2024-11-17 12:17:02
原創
603 人瀏覽過

Why Does My Code Fail to Print a uint64_t with

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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板