Функция C++ setw() используется для задания ширины поля, синтаксис имеет следующий вид:

setw(n)

n обозначает ширину, выраженную числом.

Функция setw() влияет только на вывод, следующий непосредственно за ней.

Когда длина непосредственно следующего поля вывода меньше n, перед ним добавляются пробелы; когда длина поля вывода больше n, всё поле выводится как есть.

Следующий пример демонстрирует использование функции setw():

Пример

#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
    // Установить ширину 4 в начале; длина следующей строки примера больше 4, поэтому это не влияет
    cout << setw(4) << "example" << endl;
    // Установить ширину 4 в середине; следующая строка example имеет длину больше 4, поэтому это не оказывает эффекта
    cout << "example" << setw(4) << "example" << endl;
    // Установить ширину поля равной 14 в начале; example содержит 6 символов, поэтому перед ним добавляется 8 пробелов
    cout << setw(14) << "example" << endl;
    // Установить ширину поля равной 14 в середине; example содержит 6 символов, поэтому перед ним добавляется 8 пробелов
    cout << "example" << setw(14) << "example" << endl;
    return 0;
}

Вывод вышеприведённого кода:

example
exampleexample
        example
example        example

По умолчанию setw() заполняет пробелами, и его можно использовать вместе сsetfill(), чтобы задать другие символы для заполнения.

Пример

#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
    cout << setfill('*')  << setw(14) << "example" << endl;
    return 0;
}

Вывод вышеприведённого кода:

********example