ホームページ >バックエンド開発 >C++ >printf で uint64_t を印刷すると「Spurious Trailing %」エラーが発生するのはなぜですか?

printf で uint64_t を印刷すると「Spurious Trailing %」エラーが発生するのはなぜですか?

DDD
DDDオリジナル
2024-11-29 02:39:12233ブラウズ

Why Am I Getting

printf uint64_t のトラブルシューティング: 「Spurious Trailing %」エラーの解決

printf 関数を使用して uint64_t データ型を出力しようとすると、形式に「偽の末尾 '%」を示すエラーが発生します。この問題は次のような原因が考えられます:

問題:

C99 標準では、PRIu64 などの特定のマクロの定義を明示的に要求する必要があります。デフォルトでは、これらのマクロは標準ライブラリに含まれていません。

解決策:

このエラーを解決するには、< を含める前に次のプリプロセッサ ディレクティブを追加する必要があります。 ;inttypes.h> header:

#define __STDC_FORMAT_MACROS

このディレクティブは、PRIu64 を含む必要なマクロを定義するようにコンパイラーに指示します。

この変更が行われると、printf("%" PRIu64 を使用してコードを正常にコンパイルできます) "n"、ui64); uint64_t 値を出力します。

以上がprintf で uint64_t を印刷すると「Spurious Trailing %」エラーが発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。