Основы программирования на C++, PASCAL
Для выключения используется функция
unsetf(long flags);
Например, для отмены вывода основания системы счисления используется оператор:
cout.unsetf(ios::showbase);
Вот еще некоторые функции-члены класса ios:
long flags (void) - возвращает текущее состояние флагов;
int width (int len) — возвращает текущую ширину поля вывода и устанавливает значение ширины, равное len;
char fill (char ch) — возвращает текущий символ заполнения и устанавливает новый символ заполнения ch;
int precision (int num) — возвращает текущее число десятичных знаков после точки и устанавливает значение этого параметра равным num.
Пример 1. Следующая программа иллюстрирует применение рассмотренного способа управления форматным выводом.


Использование манипуляторов. Для управления форматами потокового вывода можно использовать специальные функции, называемые манипуляторами. Доступ в программе к стандартным манипуляторам можно получить, подключив файл iomanip.h. Список стандартных манипуляторов:

Пример 2. В следующей программе вычисляется и выводится на экран таблица значений функций sin x и cos x на п шагах в интервале от 0 до р. Для форматирования таблицы результатов используются манипуляторы.

Начальная часть таблицы, выводимой по этой программе, имеет вид:

Под каждое число выделяется по 10 позиций на экране. По умолчанию число занимает крайнюю правую позицию в отведенном под него поле. Оставшиеся слева позиции занимает символ-заполнитель. По умолчанию символом-заполнителем является пробел. Однако с помощью манипулятора setfill() его можно заменить. Если в крайних правых позициях оказываются нули, то они не выводятся. Действие манипулятора распространяется только на значение, непосредственно следующее за ним в потоке вывода.

