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