タグ付けされた質問 「format-string」


3
プラットフォームに依存しないsize_tcのフォーマット指定子?
size_tCで型の変数を出力したいのですが、size_tアーキテクチャーごとに異なる変数型にエイリアスされているようです。たとえば、あるマシン(64ビット)では、次のコードは警告をスローしません。 size_t size = 1; printf("the size is %ld", size); しかし、他のマシン(32ビット)では、上記のコードは次の警告メッセージを生成します。 警告:フォーマット '%ld'はタイプ 'long int *'を予期していますが、引数3のタイプは 'size_t *'です。 これはポインタサイズの違いによるものと思われるため、64ビットマシンでsize_tはlong int("%ld")にエイリアスされますが、32ビットマシンでsize_tは別のタイプにエイリアスされます。 専用のフォーマット指定子はありsize_tますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.