Метод width
Метод width класса ios устанавливает минимальную ширину поля вывода, которая будет использоваться для следующего выводимого элемента. Если количество символов выводимого значения меньше установленной ширины, то оставшееся место заполняется символом-заполнителем (по умолчанию пробелом). В первый параметр мы передаем целое число - желаемую ширину поля вывода. Метод возвращает предыдущее значение ширины поля.
Важно помнить, что ширина поля сбрасывается после каждой операции вывода, поэтому метод width нужно вызывать перед каждым элементом, для которого требуется установить ширину.
Синтаксис
stream.width(width)
Пример
Давайте установим ширину поля вывода равной 10 и выведем число 42:
#include <iostream>
using namespace std;
int main()
{
cout.width(10);
cout << 42 << endl;
return 0;
}
Результат выполнения кода:
42
Пример
Давайте выведем несколько чисел с одинаковой шириной поля 8. Обратите внимание, что метод width нужно вызывать перед каждым числом:
#include <iostream>
using namespace std;
int main()
{
cout.width(8);
cout << 1 << endl;
cout.width(8);
cout << 22 << endl;
cout.width(8);
cout << 333 << endl;
return 0;
}
Результат выполнения кода:
1
22
333
Пример
Давайте установим символ-заполнитель '*' с помощью метода fill и ширину поля 10 с помощью метода width:
#include <iostream>
using namespace std;
int main()
{
cout.fill('*');
cout.width(10);
cout << 42 << endl;
return 0;
}
Результат выполнения кода:
"********42"
Пример
Давайте выведем строку "abcde" с шириной поля 15. Если длина строки меньше ширины, она будет выровнена по правому краю:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "abcde";
cout.width(15);
cout << str << endl;
return 0;
}
Результат выполнения кода:
" abcde"