Файлы. Общая концепция организации ввода-вывода данных в С++. Средства класса ios, обеспечивающие точную настройку вывода, страница 9

cout <<15 << “\n”;                                 //выводит f

int nNum=16 ;

double fX=355.113 ;

cout.flags (ios::dec);

cout <<nNum << “(base 10)” <<”\n”;                              //16 (base 10)

cout.flags (ios::hex | ios:: showbase);

cout <<nNum << “(base 16)”<<”\n”;                               //0x10 (base 16)

cout. unsetf ( ios:: hex);

cout.flags (ios:: oct | ios:: showbase);

cout << nNum << “(base 10)” <<”\n”;                              //16 (base 10)

cout.flags (ios:: scientific | ios:: showpos);

cout << “number (in scientific format) =”<< fX<< “\n”; // number (in scientific format) =                                                                                                           // +3.551130e+002

cout. unsetf (ios:: showpos);

cout << “number (in scientific format) =”<< fX<< “\n”; // number (in scientific format) =                                                                                                           // 3.551130e+002

cout. unsetf (ios:: scientific);

cout << “number (in fixed format) =”<< fX<< “\n”; // number (in fixed format) =                                                                                                           // 355.113

Функция-член width

определяет минимальную ширину форматируемого поля и возвращает текущую минимальную ширину:

long width(int  nWidth=0);

НО!!! Влияет только на ширину следующей операции вывода. Функцию-член width необходимо использовать перед каждым выводом для управления его шириной.

Параметр nWidth определяет новую минимальную ширину форматируемого поля. Аргумент по умолчанию для параметра nWidth определяет ширину, достаточную для вывода форматируемого значения. Отрицательное значение параметра nWidth сигнализирует об использовании функцией-членом неограниченной длины для отображения форматируемого значения.

Примеры:

cout. width(4); //устанавливает ширину в 4 знака только для одного вывода

cout <<15 << “\n”;                                //выводит 15 с двумя ведущими пробелами

cout <<15 << “\n”;                                //выводит 15 без ведущих пробелов

int i, Num=255;

for (i=5; i<20; i+=5;

{ cout <<”Number is “;

cout.width(i);

cout << Num << “\n”;

}

Number is   255

Number is        255

Number is             255

Функция-член fill

устанавливает и считывает символы-заполнители. Есть две версии этой перегруженной функции:

char fill(char cFill);

char fill() const;

Параметр cFill определяет новый символ-заполнитель. Функция-член возвращает текущий символ заполнитель.

Примеры:

cout. fill(‘^’);                       //устанавливает ‘^’ в качестве нового символа-заполнителя

cout.width(6);

cout <<15 << “\n”;                                //выводит ^^^^15

cout << cout. fill()<< “\n”;   // выводит ‘^’ в качестве текущего символа-заполнителя

int Num=255;

cout. fill(‘0’);                       //устанавливает ‘0’ в качестве нового символа-заполнителя

cout.width(10);

cout <<Num << “\n”;                                //выводит 0000000255

cout. fill(char(cout.fill()+1));   //устанавливает в качестве нового символа-заполнителя                                                             // символ, следующий за текущим

cout << cout. fill() << “\n”;   // выводит ‘1’ в качестве текущего символа-заполнителя

Функция-член precision

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

Есть две версии этой перегруженной функции:

double precision(int nPrecision);

int precision() const;

Параметр nPrecision определяет новое число цифр. Функция-член возвращает текущее число цифр.

Примеры: