[解決済み] uint8_tを表示する
2022-02-24 01:51:33
質問
私は
uint8_t orig[ETH_ALEN];
を使用して印刷するにはどうすればよいですか?
__printf(3, 4)
と定義されています。
#define __printf(a, b) __attribute__((format(printf, a, b)))
は、イーサネットのハードウェアアドレスです。
解決方法は?
適切なフォーマット文字列を構築する必要があります。その
printf()
関数は配列を一度に表示することはできないので、配列を分割し、それぞれの
uint8_t
:
__printf("MAC: %02x:%02x:%02x:%02x:%02x:%02x\n",
orig[0] & 0xff, orig[1] & 0xff, orig[2] & 0xff,
orig[3] & 0xff, orig[4] & 0xff, orig[5] & 0xff);
は
& 0xff
には8ビットしか送らないようにするためです。
printf()
のような符号なし型では必要ないはずです。
uint8_t
とはいえ、そうでない場合もあるので、試してみてください。
これは、通常の48ビットMACを想定しており、印刷には 従来の コロンで区切られた16進数スタイル。
関連
-
[解決済み】「The breakpoint will not currently be hit」を改善するには?このドキュメントにはシンボルが読み込まれていません。" という警告はどうすれば改善されますか?
-
[解決済み】インクリメントオペランドとして lvalue が必要です。
-
[解決済み] printf ファミリーを使用して、size_t 変数をポータブルに印刷するにはどうすればよいですか?
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] mallocの結果はキャストするのですか?
-
[解決済み] C言語では「?」演算子は何をするのですか?
-
[解決済み] Cの先頭の0を印刷する
-
[解決済み】C/C++の"-->"演算子とは何ですか?
-
[解決済み】高放射能環境下で使用するアプリケーションのコンパイルについて
-
[解決済み】ポインタまたはアドレスを印刷するための正しいフォーマット指定子?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C 言語の添え字で配列の要素値を代入すると、配列でもポインタでもベクトルでもない値になる
-
[解決済み] c - 初期化がキャストなしでポインタから整数を作る、さらに2つのコンパイラーエラー
-
[解決済み】警告。この関数ではXが初期化されていない状態で使用される可能性があります。
-
[解決済み】エラー:イニシャライザー要素がロード時に計算可能でない
-
[解決済み】スレッド1:EXC_BAD_ACCESS(コード=1、アドレス=0x0)標準Cメモリ問題
-
[解決済み] テスト
-
[解決済み】C 未知の型名「my_structure」。
-
[解決済み】「複数の定義」「最初に定義されたのはここです」エラーについて
-
[解決済み】0LLや0x0ULの意味は何ですか?
-
[解決済み】未定義参照 makefile が間違っているのかも?