Страницы

Поиск по вопросам

пятница, 14 февраля 2020 г.

Как в потоке вывода std::cout задать количество выводимых символов целых числел либо формат их вывода?

#cpp #cpp17


У меня есть поток вывода в котором мне надо собрать строку определённого формата.
Как мне задать формат потока вывода так что бы выводилось определённое количество символов
целого числа. Например если int a = 7 то строка cout << "20" << a; должна вывести 2007
а не 207 или 20 7. Метод width добивает недостающие позиции пробелами а не '0'. Компилятор
gcc 7.3. 
    


Ответы

Ответ 1



Используйте модификаторы setfill и setw из заголовочного файла : cout << setfill('0') << setw(5) << 12; выведет: 00012 Ideone Также можно использовать printf c форматом "%0?d", где вместо ? нужно подставить желаемую длину: int dd = 1, mm = 2, yy = 3; printf("%02d - %02d - %02d", dd, mm, yy); выведет: 01 - 02 - 03 Ideone

Комментариев нет:

Отправить комментарий