Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Робота з файлами

Функції для роботи з файлами оголошені в <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 () повертає ненульове значення, якщо в потоці виявлена ознака кінця файлу.




Переглядів: 481

<== попередня сторінка | наступна сторінка ==>
Рядки і числові типи даних | КОНТРОЛЬНІ ПИТАННЯ.

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.017 сек.