スーパーブロックの s_uuid の値を格納する変数を作成します。しかし、xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx のようなこの変数をこの形式で出力する方法に問題があります。%x と %s で printf を使用して変数を出力しようとしましたが、うまくいきません。
UUID がファイル システムにどのように格納されているか、また間違ったエンコーディングではなくコンソールに出力する方法を知りたいです。
スーパーブロックの s_uuid の値を格納する変数を作成します。しかし、xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx のようなこの変数をこの形式で出力する方法に問題があります。%x と %s で printf を使用して変数を出力しようとしましたが、うまくいきません。
UUID がファイル システムにどのように格納されているか、また間違ったエンコーディングではなくコンソールに出力する方法を知りたいです。
s_uuid はスーパーブロックで次のように定義されます。 u8 s_uuid[16];
これを上記の形式でコンソールに出力するには:
uint8_t s_uuid[16] = {0xf3, 0x58, 0x6b, 0xaf, 0xb5, 0xaa, 0x49, 0xb5,
0x8d, 0x6c, 0x05, 0x69, 0x28, 0x4c, 0x63, 0x9f};
printf("%02x%02x%02x%02x%02x%02x-%02x%02x-%02x%02x-%02x%02x-%02x%02x%02x%02x%02x%02x\n",
s_uuid[0], s_uuid[1], s_uuid[2], s_uuid[3], s_uuid[4], s_uuid[5], s_uuid[6], s_uuid[7],
s_uuid[8], s_uuid[9], s_uuid[10], s_uuid[11], s_uuid[12], s_uuid[13], s_uuid[14], s_uuid[15]);