Próbuję wypisać wartość szesnastkową znaku i sformatować go w przyjemny sposób.C++ format liczby szesnastkowej
Wymagane: 0x01 : value 0x1
Wszystko, co mogę dostać to: 00x1 : value 0x1
// lub 0x1 jeśli nie używam iomanip
Oto kod mam, 'ch' został uznany za unsigned char. Czy jest jakiś inny sposób na to, poza sprawdzeniem wartości i ręcznym dodaniem '0' ??
cout << showbase;
cout << hex << setw(2) << setfill('0') << (int) ch;
Edit:
znalazłem jeden w internecie rozwiązanie:
cout << internal << setw(4) << setfill('0') << hex << (int) ch