Приложение к главе 1
Команды, управляющие выводом
Для работы большинства команд, приведенных ниже, требуется подключение библиотеки iomanip.
Флаги форматирования в С++
Флаг |
Назначение |
Пример |
Результат |
boolalpha |
Вывод логических величин в текстовом виде (true, false) |
cout.setf(ios::boolalpha); bool log_false = 0, log_true = 1; cout << log_false << endl; cout << log_true << endl; |
false true |
showpos |
Вывод знака плюс (+) для положительных чисел |
cout.setf(ios::showpos); int value = 15; cout << value << endl; |
+15 |
scientific |
Вывод вещественных чисел в экспоненциальной форме |
cout.setf(ios::scientific); double value = 1024.165; cout << value << endl; |
1.024165e+003 |
fixed |
Вывод вещественных чисел в фиксированной форме (6 цифр после запятой) |
cout.setf(ios:: fixed); double value = 1024.165; cout << value << endl; |
1024.165000 |
right |
Выравнивание по правой границе (по умолчанию). Сначала необходимо установить ширину поля, которая должна быть заведомо большей, чем длина выводимой строки |
cout.width(20); cout << "Hello world"; |
|
left |
Выравнивание по левой границе. Сначала необходимо установить ширину поля, которая должна быть заведомо большей, чем длина выводимой строки |
cout.setf(ios::left); cout.width(20); cout << "Hello" << "world"; |
Манипуляторы форматирования в С++
Флаг |
Назначение |
Пример |
Результат |
endl |
Переход на новую строку при выводе |
cout << "Hello" << endl << "world"; |
Hello |
boolalpha |
Вывод логических величин в текстовом виде (true, false) |
bool b = 1; |
true |
noboolalpha |
Вывод логических величин в числовом виде (true, false) |
bool b = 1; |
1 |
showpos |
Вывод знака плюс (+) для положительных чисел |
int value = 255; |
+255 |
noshowpos |
Не выводить знак плюс (+) для положительных чисел (по умолчанию) |
int value = 255; |
255 |
scientific |
Вывод чисел с плавающей точкой в экспоненциальной форме |
double value = 1024.165; |
1.024165e+003 |
fixed |
Вывод чисел с плавающей точкой в фиксированной форме (6 цифр после запятой) |
double value = 1024.165; |
1024.165000 |
setw(int number) |
Установить ширину поля, где number — количество позиций, символов (выравнивание по умолчанию по правой границе) |
cout << setw(20) << "Hello world"; |
|
right |
Выравнивание по правой границе (по умолчанию). Сначала необходимо установить ширину поля (ширина поля должна быть заведомо большей, чем длина выводимой строки) |
cout << setw(20) << right; |
|
left |
Выравнивание по левой границе. Сначала необходимо установить ширину поля (ширина поля должна быть заведомо большей, чем длина выводимой строки) |
cout << setw(20) << left; |
|
setprecision (int count) |
Задает количество знаков после запятой, где count — количество знаков после десятичной точки |
cout << fixed; |
6.750 |
setfill (char symbol) |
Установить символ-заполнитель. Если ширина поля больше, чем выводимая величина, то свободные места поля будут наполняться символом symbol |
cout << setfill('0'); |
0015 |