#include <iostream>
#include <iomanip>
int main()
{
int number = 123;
std::cout << std::setw(10) << number << std::endl;
return 0;
Примеры работы с функцией setw в C++
Ниже приведены несколько примеров, показывающих использование функции setw() в различных ситуациях:
Пример 1: Выравнивание чисел по правой стороне с помощью setw()
#include
#include
using namespace std;
int main() {
int num1 = 42;
int num2 = 1234;
cout << setw(6) << num1 << endl;
cout << setw(6) << num2 << endl;
return 0;
}
42
1234
Пример 2: Выравнивание строк по центру с помощью setw()
#include
#include
#include
using namespace std;
int main() {
string str1 = "Hello";
string str2 = "World";
cout << setw(10) << str1 << endl;
cout << setw(10) << str2 << endl;
return 0;
}
Hello
World
Пример 3: Выравнивание чисел с десятичными знаками с помощью setw()
#include
#include
using namespace std;
int main() {
double num1 = 3.14159;
double num2 = 2.71828;
cout << fixed;
cout << setprecision(2);
cout << setw(7) << num1 << endl;
cout << setw(7) << num2 << endl;
return 0;
}
3.14
2.72
Описание функции setw
Для использования функции setw нужно подключить заголовочный файл iomanip, в котором она определена.
Синтаксис функции setw выглядит следующим образом:
#include <iomanip>
std::cout << std::setw(ширина_поля) << значение;
Где:
- ширина_поля – значение типа целое число, которое задает ширину поля в символах;
Пример использования функции setw
Для использования функции setw необходимо подключить библиотеку iomanip:
#include <iomanip>
int main() {
int a = 10;
int b = 100;
std::cout << std::setw(5) << a << std::endl;
std::cout << std::setw(5) << b << std::endl;
return 0;
}
10
100
Функция setw также можно использовать вместе с флагом std::left для выравнивания по левому краю:
std::cout << std::setw(5) << std::left << a << std::endl;
std::cout << std::setw(5) << std::left << b << std::endl;
Результат будет следующим:
10
100
Пояснение работы функции setw
Функция setw находится в заголовочном файле iomanip и принимает один аргумент - целое число, задающее ширину поля. Она позволяет выровнять текст по правому краю и заполнить пробелами слева, если он меньше заданной ширины поля.
Например, рассмотрим следующий пример:
#include <iostream>
#include <iomanip>
int main() {
int number = 123;
std::cout << std::setw(10) << number << std::endl;
return 0;
}
123 |
Если значение number занимает больше 10 символов (например, 1234567890), то оно будет выведено без изменений:
1234567890 |
Функцию setw можно также комбинировать с другими функциями форматирования, например, setfill для задания символа заполнения:
#include <iostream>
#include <iomanip>
int main() {
int number = 123;
std::cout << std::setw(10) << std::setfill('*') << number << std::endl;
return 0;
}
Теперь значение number будет выведено с выравниванием по правому краю и заполнено символом '*':
****123 |