Предварительное число с 0

Возможный дубликат:
Вывести начальные нули с помощью оператора вывода C++ (эквивалент printf)?

#include <iostream>
#include <iomanip>
int main()
{
   int n = 16;
   std::cout << ???(5) << n << std::endl;
}

Я хочу, чтобы результат был 00016
setw() дополняется пробелами. Разве это не настраивается, с какими символами начинать setw()?

Моя конечная цель - напечатать шестнадцатеричное шестнадцатеричное число в 4 позициях. Что-то вроде этого:

#include <iostream>
#include <iomanip>
int main()
{
    unsigned short n = 0xA7;
    std::cout << std::hex << ???(4) << n << std::endl;
}

и я ожидаю получить этот вывод: 00A7

1 ответ

Решение

Вам также нужно setfill('0'),

Другие вопросы по тегам