#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
Комментариев нет:
Отправить комментарий