Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lect11.pdf
Скачиваний:
6
Добавлен:
06.02.2016
Размер:
378.65 Кб
Скачать

Результаты

1.1

1.17

Значение x=0x68e

Значение f=+2345600

Исправимпредыдущийпример

cout.width(7);

cout.precision(3);

cout.setf(ios::fixed); cout << 1.5; cout.width(7); cout.precision(3); cout << 2.5 << "\n";

Результаты

1.500 2.500

Теперьвсё работает, каки требовалось.

Основнойнедостаток: для вывода двухчисел взаданномформате приходится дополнительно сделать 5 вызововметодов.

Возможноерешение проблемы: использование манипуляторов.

Манипуляторы потоков

Манипулятор потока - это функция, которую можновызвать непосредственно в цепочке операций извлечения данных из потока или вывода данныхв поток.

Манипуляторы разделяются на двегруппы:

простыеманипуляторы;

параметризованные манипуляторы.

Простыеманипуляторы

dec

Установка флага форматирования с десятичными преобразованиями hex

Установка флага форматирования с шестнадцатиричными преобразованиями oct

Установка флага форматирования с восьмеричными преобразованиями ws

Извлечение пробельных символов

Простыеманипуляторы

endl

Вставка символа новой строки и очистка потока

ends

Вставкаоконечного пустого символа встроку

flush

сбросostream

Параметризованные

манипуляторы

setbase(int)

Установка системы счисления при преобразованиях соснованием n (0, 8,10 или 16). 0- десятичная система.

resetiosflags(long)

Очистка форматных битов, заданных аргументом

setiosflags(long)

Установка форматных битов, заданных аргументом

Параметризованные

манипуляторы

setfill(int)

Установка символа-заполнителя вn

setprecision(int)

Установка точности представления чисел с плавающей точкой равнойn разрядам

setw(int)

Установка ширины поля в значениеn

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]