С++ для начинающих


         

в отличие от других манипуляторов,


}

печатает:

ival:           16

dval:      3.14159

Второй модификатор setw() необходим потому, что, в отличие от других манипуляторов, setw() не изменяет состояние формата объекта ostream.

Чтобы выровнять значение по левой границе, мы применяем манипулятор left (соответственно манипулятор right восстанавливает выравнивание по правой границе). Если мы хотим получить такой результат:

    16

-    3

то пользуемся манипулятором internal, который выравнивает знак по левой границе, а значение – по правой, заполняя пустое пространство пробелами. Если же нужен другой символ, то можно применить манипулятор setfill(). Так

cout << setw(6) << setfill('%') << 100 << endl;

печатает:

%%%100

В табл. 20.1 приведен полный перечень предопределенных манипуляторов.

Таблица 20.1. Манипуляторы













































































































































































































Манипулятор



Назначение



 boolalpha



Представлять true и false в виде строк



*noboolalpha



Представлять true и false как 1 и 0



Showbase



Печатать префикс, обозначающий систему счисления



*noshowbase



Не печатать префикс системы счисления



showpoint



Всегда печатать десятичную точку



*noshowpoint



Печатать десятичную точку только в том случае, если дробная часть ненулевая



showpos



Печатать + для неотрицательных чисел



*noshowpos



Не печатать + для неотрицательных чисел



*skipws



Пропускать пробельные символы в операторах ввода



noskipws



Не пропускать пробельные символы в операторах ввода



uppercase



Печатать 0X при выводе в шестнадцатеричной системе счисления; E – при выводе в научной нотации



*nouppercase



Печатать 0x при выводе в шестнадцатеричной системе счисления; e – при выводе в научной нотации



*dec



Печатать в десятичной системе



hex



Печатать в шестнадцатеричной системе



oct



Печатать в восьмеричной системе



left



Добавлять символ заполнения справа от значения



right



Добавлять символ заполнения слева от значения



internal



Добавлять символ заполнения между знаком и значением



*fixed



Отображать число с плавающей точкой в десятичной нотации



scientific



Отображать число с плавающей точкой в научной нотации



flush



Сбросить буфер ostream



ends



Вставить нулевой символ, затем сбросить буфер ostream



endl



Вставить символ новой строки, затем сбросить буфер ostream



ws



Пропускать пробельные символы

<

Содержание  Назад  Вперед