ホームページ > バックエンド開発 > C++ > Printf で「%u64」を使用するとコンパイル エラーが発生するのはなぜですか?

Printf で「%u64」を使用するとコンパイル エラーが発生するのはなぜですか?

Barbara Streisand
リリース: 2024-11-14 18:07:01
オリジナル
610 人が閲覧しました

Why Am I Getting Compilation Errors When Using

「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 サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート