Читайте также:
|
|
Функції для роботи з файлами оголошені в <fstream.h>. Оскільки клас fstream успадковує властивості класів iostream і ios, при роботі з файлами можна використовувати усі функції-члени і данні-члени цих класів. Файловий ввід-вивід (вивід) досягається при зв'язуванні вхідного (вихідного) потоку з файлом за допомогою змінної класу istream або fstream (перемінної класу оstream або fstream – для вводу).
Форма операторів визначення потокових змінних:
fstream ім'я_потоку (“ім'я_набору_даних”, ios::in) – для вводу,
fstream ім'я_потоку (“ім'я_набору_даних”, ios::out) – для виводу.
При такому визначенні потокових змінних відкриваються потоки. Якщо відкриття неможливе, потокова змінна має значення нуль.
Для файлів, зв'язаних з потоками, можна використовувати операції вставки і вилучення – з їх допомогою виконують форматований ввід-вивід. Неформатований (не викидає пробіли і не виконуює перетворення з зовнішньої форми представлення даних у внутрішню форму) ввід може бути виконано за допомогою наступних функцій – членів:
in get () – витягає з вхідного потоку і повертає один символ або EOF, якщо досягнуто кінець файлу.
istream& get (char&) – витягає з вхідного потоку і повертає один символ. Має нульове значення, якщо кінець файлу не досягнений.
istream& get (char * buf, int n, char delim = ‘\n’) – читає символи з потоку, поки не буде прочитано n символів або не зустрівся обмежник delim. Обмежник залишається в потоці і не включається в лічену послідовність.
istream& getline (char * buf, int n, char delim = '\n') – читає символи з потоку. Обмежник не включається в лічену послідовність. На відміну від get, обмежник витягається з потоку.
istream& read (char* buf, int n) – читає n байтів з потоку в двоїчному режимі.
ostream& put (char) – записує окремий символ у потік.
ostream& write (const char* buf, int n) – записує в потік n символів з буфера.
ostream& flush () – запис змісту потоку, тобто примусовий запис, незалежно від ступеня заповнення внутрішнього буфера потоку.
void open (char* dataname, int mode, int prot = filebuf::openprot) – відкриває набір даних і зв'язує з раніше створеною змінною потоку. Режим «для введення» задається як ios::in, режим для виводу – як ios::out, режим «для додавання» – як ios::app. Для відкриття потоку в двоїчному режимі константа ios::in поєднується (порозрядним АБО) з константою ios::binary. Приклад застосування open – у додатку.
void close () – закриває файл і відкріплює його від потоку. Оскільки звичайно файли закриваються автоматично, close застосовується, якщо файл потрібно «перевідкрити» в іншому режимі.
Функція int eof () повертає ненульове значення, якщо в потоці виявлена ознака кінця файлу.
Дата добавления: 2015-07-20; просмотров: 57 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Функції для роботи з рядками | | | Запам'ятайте! |