[解決済み] uint32_tやuint16_tの変数の値を表示するには?
2022-03-01 05:06:44
質問
uint16_tとuint32_tの値を出力しようとしているが、思うような出力が得られない。
#include <stdio.h>
#include <netinet/in.h>
int main()
{
uint32_t a = 12, a1;
uint16_t b = 1, b1;
a1 = htonl(a);
printf("%d---------%d", a1);
b1 = htons(b);
printf("\n%d-----%d", b, b1);
return 0;
}
また、私は
printf("%"PRIu32, a);
というエラーが表示されます。
これらの値をどのように印刷すればよいのでしょうか、また、どのような出力が望まれるのでしょうか。
どのように解決するのですか?
を含める必要があります。
inttypes.h
のための新しい書式指定子が必要な場合は、それを使用します。
intN_t
型とその仲間たち、そして
は
は、コンパイラがC99に準拠していれば、正しい(つまり移植可能な)方法です。のような標準的なものは使うべきではありません。
%d
または
%u
のように、サイズが異なる場合があります。
それには
stdint.h
に使えるマクロなど、かなり多くのもので拡張しています。
printf/scanf
ファミリーの呼び出しです。これは、ISO C99標準の7.8節でカバーされています。
例えば、次のようなプログラムです。
#include <stdio.h>
#include <inttypes.h>
int main (void) {
uint32_t a=1234;
uint16_t b=5678;
printf("%" PRIu32 "\n",a);
printf("%" PRIu16 "\n",b);
return 0;
}
を出力します。
1234
5678
関連
-
[解決済み】valgrind - サイズ8のブロックが割り当てられた後、アドレス ---- が0バイトになる。
-
[解決済み】ポインタへの代入時に互換性のないポインタ型からの初期化警告が発生した
-
[解決済み】警告。この関数ではXが初期化されていない状態で使用される可能性があります。
-
[解決済み】エラー:イニシャライザー要素がロード時に計算可能でない
-
[解決済み】メモリー・クロバリング・エラー
-
[解決済み】fgetsによるセグメンテーションフォールト(コアダンプ) - と思う。
-
[解決済み】LinuxのI_PUSHに相当するもの
-
[解決済み】C言語で入力が整数型かどうかチェックする
-
[解決済み] 1ビットのセット、クリア、トグルはどのように行うのですか?
-
[解決済み] 配列のすべてのメンバーを同じ値で初期化するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Valgrind - strcpyのサイズ1の無効な書き込み
-
[解決済み】valgrind - サイズ8のブロックが割り当てられた後、アドレス ---- が0バイトになる。
-
[解決済み] c - 初期化がキャストなしでポインタから整数を作る、さらに2つのコンパイラーエラー
-
[解決済み】Cコンパイルエラーです。Idは1終了ステータスを返した
-
[解決済み】C言語で浮動小数点例外(コアダンプ)発生
-
[解決済み] テスト
-
[解決済み】エラー。非スカラー型への変換を要求された
-
[解決済み】EAGAINとはどういう意味ですか?
-
[解決済み】sizeof float (3.0) vs (3.0f)
-
[解決済み] uint32_t および size_t 用の printf フォーマット指定子