Программирование на языке высокого уровня. Марапулец Ю.В. - 117 стр.

UptoLike

Составители: 

int i = 123;
cout
.width(7);
cout
.fill ('*');
cout
.setf(ios::left,ios::adjustfield);
cout<<i;
Результат:
123****
Если используется вывод каскадом, то ширина поля устанавливается по умолча-
нию после каждого вывода. Простой способ установки форматных переменных состоит
в использовании манипуляторов.
Манипуляторами называются функции, которые
можно включать в цепочку операций помещения и извлечения для форматирования дан-
ных. Пользоваться манипуляторами более удобно, чем методами установки флагов фор-
матирования. Манипуляторы делятся на простые, не требующие указания аргументов, и
параметризованные. Манипулятор получает ссылку на поток в качестве аргумента и воз-
вращают ссылку на тот же поток. Это позволяет использовать манипуляторы в каскадах.
Например:
cout << setw(4) <<i<< setw(6) <<j;
эквивалентно:
cout.width(4);
cout<<i;
cout.width (6);
cout
<<j;
В данном примере setw() есть параметризованный манипулятор, описанный в файле
iomanip.h. Стандартные манипуляторы представлены в таблице 4.4.
Таблица 4.4
Манипулятор Синтаксис Действие
dec cout<<dec, cin>>dec установка десятичного преобразования
hex cout<<hex, cin>>hex установка шестнадцатеричного преобразо-
вания
oct cout<<oct, cin>>oct установка восьмеричного преобразования
ws cin>>ws удаление пробелов
endl cout<<endl перевод строки и сброс потока
ends cout<<ends вставка 0-символа в конце строки
flush cout<<flush сброс потока
setbase(int) cout<<setbase(n) установка базы системы счисления n = (0,
8, 10, 16). Ноль - значение по умолчанию
(10-я)
resetiosflags
(long)
cin>>resetiosflags(l)
cout<<resetiosflags(1)
сброс форматных битов в аргументе 1
etiosflags(long) cin>>etiosflags(1)
cout<<etiosflags(1)
установка битов форматирования по аргу-
менту l
setfill(int) cin>>setfill(n)
cout<<setfill(n)
установка символа заполнения в n
setprecision(int) cin>>setprecision(n)
cout<<setprecision(n)
установка точности представления чисел с
плавающей точкой в n цифр
setw(int) cin>>setw(n)
cout<<setw(n)
установка ширины поля в n позиций
117
     int i = 123;
     cout.width(7);
     cout.fill ('*');
     cout.setf(ios::left,ios::adjustfield);
     cout<>dec    установка десятичного преобразования
 hex               cout<>hex    установка шестнадцатеричного преобразо-
                                          вания
 oct               cout<>oct    установка восьмеричного преобразования
 ws                cin>>ws                удаление пробелов
 endl              cout<>resetiosflags(l)  сброс форматных битов в аргументе 1
 (long)            cout<>etiosflags(1)     установка битов форматирования по аргу-
                   cout<>setfill(n)        установка символа заполнения в n
                   cout<>setprecision(n)   установка точности представления чисел с
                   cout<>setw(n)           установка ширины поля в n позиций
                   cout<