Примеры использования функции setw в C++ — подробное объяснение с реальными примерами

#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
Оцените статью