Форматирующие функции-элементы

Для чтения и установки ширины поля потока в классе ios имеется функция width:

int ios::width();

int ios::width(int);

В первом случае функция возвращает текущее значение внутренней переменной ширины поля потока (по умолчанию оно равно нулю), а во втором устанавливает значение этой внутренней переменной.

Если функция используется при вводе, то она задает максимальное число читаемых символов, а если при выводе, то задает минимальную ширину поля. Если при выводе ширина поля меньше заданной, то выход дополняется символами, установленными fill. Если поле выводимого числа больше указанного, значение width игнорируется. После каждого помещения данных в поток значение функции обнуляется.

Пример:

#include<iostream.h>

void main()

{ const m=5;

char name[m];

cout<<”Введите имя: ”<<endl;

cin.width(m); cin>>name;

cout<<”Привет, ”<<name<<’!’;

}

Результат:

Введите имя:

Андрей

Привет, Андре!

Для чтения или изменения текущего заполняющего символа можно применять функцию ios::fill:

char ios::fill();

char ios::fill(char);

В первом случае функция возвращает текущее значение символа заполнения (по умолчанию пробел), а во втором – устанавливает заполняющий символ потока и возвращает его предыдущее значение.

Пример:

#include<iostream.h>

void main()

{int x=123;

cout.fill(‘*’); cout.width(6);

cout<<x;

}

Результат:

***123

Для чтения и установки числа значащих цифр при выводе чисел с плавающей точкой используется функция ios::precision:

int ios::precision();

int ios::precision(int);

В первом случае функция возвращает текущее значение точности (по умолчанию точность равна шести), а во втором случае – устанавливает внутреннюю переменную точности вещественных чисел потока и возвращает прежнее значение.

Если установлен флаг scientific или fixed, то precision задает число цифр, выводимых после десятичной точки, иначе задает общее число значащих цифр.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: