Реферат: Форматування даних в програмах C++

Підготував

студент групи ІБ-21

Горон Роман

Львів 2009


Вступ

Формати представлення що виводиться інформації та правила відтворення даних при введенні можуть бути змінені програмістом за допомогою прапорів форматування. Ці прапори успадковані всіма потоками з даного класу ios. Прапори форматування реалізовані у вигляді окремих фіксованих бітів і зберігаються в protected компоненті класу long x_flags. Для доступу до них є відповідні public функції.


Під час введення-виведення можна виконувати форматування даних.

Щоб використовувати операції>> і <<з даними користувача типів, що визначаються користувачем, необхідно розширити дію цих операцій, ввівши нові операції-функції. Першим параметром операції - функції має бути посилання на об'єкт потокового типу, другий - посилання або об'єкт для користувача типу. У файлі iostream.h визначені наступні об'єкти, пов'язані з стандартними потоками введення-виводу:

cin - об'єкт класу istream, пов'язаний зі стандартним буферізірованним вхідним потоком;

cout - об'єкт класу ostream, пов'язаний зі стандартним буферизуєрованным вихідним потоком;

cerr - не буферізірованний вихідний потік для повідомлення про помилки;

clog - буферізірованний вихідний потік для повідомлення про помилкиках.

Форматування.

Безпосереднє застосування операцій введення <<і виведення>> до стандартним потокам cout, cin, cerr, clog для даних базових типів привадит до використання "замовчуваних" форматів зовнішнього представлення пересилаються значень.

Крім прапорів форматування використовуються наступні protected компонентні дані класу ios:

int x_width - мінімальна ширина поля виводу.

int x_precision - точність подання дійсних чисел (колікість цифр дробової частини) при виведенні;

int x_fill - символ-заповнювач при виведенні, пробіл - за умовчанням.

Для отримання (установки) значень цих полів використовуються следмуть компонентні функції:

int width ();

int width (int);

int precision ();

int precision (int);

char fill ();

char fill (char);

Маніпулятори.

Незважаючи на гнучкість і великі можливості управління форматами за допомогою компонентних функцій класу ios, їх застосування достаточно громіздко. Більш простий спосіб зміни параметрів і прапорів форматування забезпечують маніпулятори.

Маніпуляторами називаються спеціальні функції, що дозволяють модифіковані роботу потоку. Особливість маніпуляторів полягає в те, що їх можна використовувати в якості правого операнда операції>> або <<. Як лівого операнда, як зазвичай, використовується потік (посилання на потік), і саме на цей потік впливає маніпулятор.

Для забезпечення роботи з маніпуляторами в класах istream і ostream є такі перевантажені функції operator. istream & operator>> (istream & (* _f) (istream &)); ostream & operator <<(ostream & (* _f) (ostream &)); При використанні маніпуляторів слід включити заголовкові файл <iomanip.h>, в якому визначено вбудовані маніпулятори.

Визначення користувальницьких маніпуляторів.

--> ЧИТАТЬ ПОЛНОСТЬЮ <--

К-во Просмотров: 153
Бесплатно скачать Реферат: Форматування даних в програмах C++