次のものに相当するものを作成したい:
char* val = "\x11\x11\x11\x11";
htole32() 関数を使用します。「\x11」は印刷できない文字なので、どうすればいいですか?
編集
int を char* にキャストするつもりですが、セグメンテーション違反を受け取りたくありません。
int val = 0x11111111;
次のものに相当するものを作成したい:
char* val = "\x11\x11\x11\x11";
htole32() 関数を使用します。「\x11」は印刷できない文字なので、どうすればいいですか?
編集
int を char* にキャストするつもりですが、セグメンテーション違反を受け取りたくありません。
int val = 0x11111111;
最終的な目標は完全にはわかりませんが、整数を 16 進形式で指定できます。
uint32_t val = 0x11111111;
また、コメントに記載されているように、16 進表現は、(または) を書式指定子としてprintf
使用して、一連の関数で出力できます。OPから収集できるものから、それはあなたが探しているものかもしれませんが、完全にはわかりません. %x
%X
OP編集に応じて編集: にキャストすることの意味が完全には明確ではありませんchar*
。val
のアドレスを char*にキャストしたい場合(例: char *ptr = (char*)&val;
)、それは正常に機能し、個々のバイトにアクセスできるようになります。