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




Состояние формата - часть 6


}

печатает:

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

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

<


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