По сути, я пытаюсь сгенерировать шестнадцатеричное значение, учитывая значения красного, зеленого и синего ... Я могу преобразовать все в шестнадцатеричное, но я хотел бы, чтобы результатом было шестнадцатеричное шестизначное число, котороедополняется нулями, если есть только 4 выведенные цифры.
Вот что у меня есть: "
int main() {
stringstream hexstring;
int red,green,blue;
cout << "Red: ";cin >> red;
cout << "Green: ";cin >> green;
cout << "Blue: ";cin >> blue;
hexstring << hex << setfill('0') << setw(6) << uppercase << red << green << blue;
cout << "#" << hexstring.str();
}
Вот вывод, когда я использую 0 для красного, 1 для зеленого и 43 для синего:
Red: 0
Green: 1
Blue: 43
#00000012B
Это добавляет 6 нулей, потому что мой setw равен 6. Я могу установить его на 2 нуля, чтобы получить всего 6 цифр, но если я изменю значения красного, зеленого, синего, мне придется также изменить значение setw ...
Как сделать так, чтобы он последовательно выводил 6-значное число для всех значений в пределах 255?