質問

sprintfcharをHexにマッピングするのと同じ方法で%xをHEXにマッピングするフォーマット指定子はありますか?

役に立ちましたか?

解決

はい、いいえ。

sprintfは変数引数リストを取りますので、sprintfが受信する前に、すべての引数がデフォルトのプロモーションを受けます。つまり、sprintfcharを受信します.charは常にintがそれを受信する前にsprintfに昇格します(およびshortは、sprintfも同様に)。

はい、int%xになるため、charを使用してそれをHEX形式に変換し、その値がshortint、または%2.2xとして開始されたのか同じように機能します。入力ごとに2文字を印刷したい場合は(頻繁に)、charを使用できます。

1点を注意してください。これは、intが署名されている場合は、-1へのプロモーションが同じ数値を生成します。これは通常が同じビットパターンになります。元の文字として、ffffが16ビットの場合はintが16ビットの場合はffffffffの場合は通常印刷されます。符号付き整数)

他のヒント

それは同じ%xです。char(または可変数のパラメータを取得する他の関数)に渡される前に、intに変換されます。

printf("%x\n", 'a');
.

sprintf

を印刷します

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top