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;
}
#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;
}
#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