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;
}
#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;
}
#include <iomanip>
using namespace std;
int main()
{
cout << setfill('*') << setw(14) << "example" << endl;
return 0;
}
Die Ausgabe des obigen Codes ist:
********example