Читайте также: |
|
Система ввода-вывода C++ предусматривает еще один способ форматирования потока. Этот способ основан на использовании манипуляторов ввода-вывода. Манипуляторы ввода-вывода представляют собой просто вид функций-членов класса ios, которые, в отличие от обычных функций-членов, могут располагаться внутри инструкций ввода-вывода. В связи с этим ими пользоваться обычно удобнее.
Манипуляторы вывода имеют следующее назначение:
endl вставляет символ конца строки и очищает буфер;
ends вставляет символ конца строки;
flush очищает буфер потока;
left устанавливает флаг left;
right устанавливает флаг right;
internal устанавливает флаг internal;
fixed устанавливает флаг fixed;
scientific устанавливает флаг scientific;
showbase устанавливает флаг showbase;
noshowbase сбрасывает флаг showbase;
showpoint устанавливает флаг showpoint;
noshowpoint сбрасывает флаг showpoint;
showpos устанавливает флаг showpos;
noshowpos сбрасывает флаг showpos;
unitbuf устанавливает флаг unitbuf;
nounitbuf сбрасывает флаг unitbuf;
uppercase устанавливает флаг uppercase;
nouppercase сбрасывает флаг uppercase.
Манипуляторы ввода-вывода имеют следующее назначение:
boolalpha устанавливает флаг boolalpha;
noboolalpha сбрасывает флаг boolalpha;
Объектно-ориентированное программирование
Лекция 10 Потоковый ввод-вывод 8
dec устанавливает флаг dec;
hex устанавливает флаг hex;
oct устанавливает флаг oct;
Setbase (int base) задает основание системы счисления для целых;
Setfill (charT c) устанавливает символ-заполнитель;
Setprecision (int n) устанавливает точность чисел с плавающей точкой;
setw (int n) устанавливает минимальную ширину поля;
Setiosflags (ios_base:: fmtflags mask) Устанавливает ios -флаги, в соответствии с mask;
Resetiosflags (ios_base:: fmtflags mask) Сбрасывает ios -флаги, в соответствии с mask.
Манипуляторы ввода имеют следующее назначение:
noskipws сбрасывает флаг skipws;
skipws устанавливает флаг skipws;
ws устанавливает пропуск символов-заполнителей.
За исключением setw (), все изменения в потоке, внесенные манипулятором, сохраняются до следующей установки.
При внимательном изучении таблицы можно заметить, что манипуляторы охватывают функциональные возможности, предоставляемые обычными функциями-членами и флагами форматирования. В частности, манипулятор setiosflags () реализует те же функциональные возможности, что и функция-член setf (), а манипулятор resetiosflags () – те же, что и функция-член unsetf ().
Для доступа к манипуляторам с параметрами необходимо включить в программу стандартный заголовочный файл <iomanip>. При использовании манипулятора без параметров скобки за ним не ставятся, так как на самом деле он представляет собой указатель на функцию-член, который передается перегруженному оператору <<.
Рассмотрим пример, демонстрирующий использование манипуляторов.
#include <iostream.h> #include <iomanip.h> #include <math.h> void main () {
Дата добавления: 2015-07-11; просмотров: 172 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Флаги форматирования | | | Explicit ifstream ( ) ; explicit ofstream ( ) ; explicit fstream ( ) ; |