La función setw() de C++ se utiliza para establecer el ancho del campo. La sintaxis es la siguiente:

setw(n)

n representa el ancho, expresado con un número.

La función setw() solo afecta a la salida inmediatamente siguiente.

Cuando la longitud del campo de salida inmediatamente siguiente es menor que n, se rellena con espacios por delante del campo; cuando la longitud del campo de salida es mayor que n, se emite completo en su totalidad.

El siguiente ejemplo demuestra el uso de la función setw():

Ejemplo

#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
    // Al inicio se establece un ancho de 4; la longitud de los caracteres ejemplo que siguen es mayor que 4, por lo que no tiene efecto.
    cout << setw(4) << "ejemplo" << endl;
    // En la posición central se establece un ancho de 4; la longitud de los caracteres ejemplo que siguen es mayor que 4, por lo que no tiene efecto.
    cout << "ejemplo" << setw(4) << "ejemplo" << endl;
    // Al inicio se establece un espaciado de 14; el número de caracteres de ejemplo es 6, por lo que se añaden 8 espacios delante.
    cout << setw(14) << "ejemplo" << endl;
    // En la posición central se establece un espaciado de 14; el número de caracteres de ejemplo es 6, por lo que se añaden 8 espacios delante.
    cout << "ejemplo" << setw(14) << "ejemplo" << endl;
    return 0;
}

El resultado de salida del código anterior es:

ejemplo
ejemploejemplo
        ejemplo
ejemplo        ejemplo

El contenido de relleno predeterminado de setw() es el espacio, y se puedesetfill()usar en combinación para configurar el relleno con otros caracteres.

Ejemplo

#include <iostream>
#include <iomanip>

using namespace std;

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

El resultado de salida del código anterior es:

********ejemplo