Die C++-Funktion setw() wird verwendet, um die Breite eines Felds festzulegen; die Syntax hat folgendes Format:

setw(n)

n gibt die Breite als Zahl an.

Die Funktion setw() wirkt sich nur auf die unmittelbar danach folgende Ausgabe aus.

Wenn die Länge des unmittelbar folgenden Ausgabefelds kleiner als n ist, werden davor Leerzeichen eingefügt; wenn die Länge des Ausgabefelds größer als n ist, wird das gesamte Feld unverändert ausgegeben.

Das folgende Beispiel veranschaulicht die Verwendung der Funktion setw():

Beispiel

#include <iostream>
#include <iomanip>

using namespace std;

int main()
{
    // Breite zu Beginn auf 4 setzen; die folgende Beispielzeichenkette ist länger als 4, daher hat sie keine Auswirkung
    cout << setw(4) << "example" << endl;
    // Setze die Breite in der Mitte auf 4; die folgende Beispielzeichenkette ist länger als 4, daher hat sie keine Auswirkung
    cout << "example" << setw(4) << "example" << endl;
    // Setze den Abstand am Anfang auf 14; example hat 6 Zeichen, also werden 8 Leerzeichen davor eingefügt
    cout << setw(14) << "example" << endl;
    // Setze den Abstand in der Mitte auf 14; example hat 6 Zeichen, also werden 8 Leerzeichen davor eingefügt
    cout << "example" << setw(14) << "example" << endl;
    return 0;
}

Die Ausgabe des obigen Codes ist:

example
exampleexample
        example
example        example

Standardmäßig füllt setw() mit Leerzeichen, und es kannsetfill()in Kombination verwendet werden, um andere Zeichen zum Füllen festzulegen.

Beispiel

#include <iostream>
#include <iomanip>

using namespace std;

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

Die Ausgabe des obigen Codes ist:

********example