「Printf」の「%u64」の理解とコンパイルの問題の解決
「printf」を使用して 64 ビットの符号なし整数を出力しようとする場合" %u64" 形式指定子を使用すると、一部のユーザーでコンパイル エラーが発生します。このエラーは、これらの書式指定子が標準 C ライブラリにデフォルトで定義されていないことが原因で発生します。
この問題を解決するには、「__STDC_FORMAT_MACROS」マクロを定義してこれらの書式指定子を明示的に有効にしてからインクルードする必要があります。 「inttypes.h」ヘッダー。これを行う方法の例を次に示します。
#define __STDC_FORMAT_MACROS #include <inttypes.h> // Rest of your code... printf("test uint64_t : %" PRIu64 "\n", ui64);
この行をコードの先頭に追加すると、コンパイラは "%u64" 形式指定子を認識し、64- を出力する正しいコードを生成します。エラーのないビット符号なし整数。これは、「__STDC_FORMAT_MACROS」マクロにより、「%u64」を含むフォーマット マクロが C 標準ライブラリに確実に含まれるためです。
以上がPrintf で「%u64」を使用するとコンパイル エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。