Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод указ к лабораторным работам ООП 3 семест...doc
Скачиваний:
5
Добавлен:
13.11.2019
Размер:
22.34 Mб
Скачать

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

Маніпулятори  це функції, які використовуються для управління прапорами потоку та включаються у ланцюг операцій << або >>. Визначення маніпуляторів подано в файлі iomanip.h (табл. 1.2).

Таблиця 1.2 Формати маніпуляторів

Прості маніпулятори

Дії маніпуляторів

endl

Символ '\n' розмістити у вихідний потік і викликати маніпулятор flush

ends

Символ '\0' розмістити у вихідний потік

flush

Очистити потік

dec

Встановити основу системи числення 10

hex

Встановити основу системи числення 16

oct

Встановити основу системи числення 8

ws

Ігнорувати пробіли, що йдуть попереду при введенні даних

Параметризовані маніпулятори

Дії маніпуляторів

setbase(int )

Задається основа для перетворення в іншу систему

setfill(int)

Задається символ, що заповнює

setprecision(int)

Задається точність дійсних чисел

setw(int)

Задається ширина поля (максимальна при введенні, мінімальна при виведенні)

setiosflags(long)

Встановлюються прапори у відповідності до параметра

resetiosflags(long)

Ігноруються прапори у відповідності до параметра

1.1.3. Деякі методи класів файлових потоків

Для операцій з вхідними та вихідними файлами використовуються класи ifstream, ofstream, fstream, які є похідними від класів istream, ostream, тобто успадковують операції <<, >>, маніпулятори, прапори формату, стану потоків тощо. Формати деяких методів обробки файлів подано в табл. 1.3.

Таблиця 1.3 Методи класів обробки файлів

Формат метода

Призначення метода

void ifstream::open (const char *name, int m=ios::in, int prot=filebuf::openprot);

Відкрити файл для зчитування

void ofstream::open (const char *name, int m=ios::out, int prot=filebuf::openprot);

Відкрити файл для запису

istream& istream::seekg(long p,seek_dir point)

Встановити покажчик потоку get із зміщенням р від позиції point

istream& istream::get(char*, int len, char = '\n');

Вибрати символи з потоку кількістю len до заданого символу, що є розділяючим.

long istream::tellg();

Повернути поточне значення покажчика get

istream& istream::get(char&);

istream& istream::get();

Читати символ або <enter>

istream& istream::read(char*, int);

Читати символи заданої кількості без символу '\n'

ostream& ostream::write(const char*, int n);

Записати до файлу вміст буфера кількістю n компонентів

ostream& ostream::seekp(long p, seek_dir point)

Розмістити покажчик на область put із зміщенням p від позиції point

long ostream::tellp();

Повернути поточне значення покажчик put

ostream& ostream::operator<<(тип);

Вставити в потік об’єкти заданого типу

Відкрити файли для читання або запису можна за допомогою конструктора при оголошенні покажчика на файл або за допомогою методу open() відповідних класів