Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Samostoyatelnye_po_S.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
671.74 Кб
Скачать

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

Під час роботи програма може обмінюватися даними з будь-якими зовнішніми пристроями: клавіатурою, монітором, жорстким диском і т. д. Для такого обміну даними використовується поняття файл

Файл - це інформація, розміщена на якомусь носії (диску) або в буфері вводу / виводу пристрою (клавіатура). Для обміну даними файл повинен бути відкритий, по завершенні цього процесу - закритий.

Потік - це логічний канал, призначений для виконання операцій введення / виводу. Кожному файлу при його відкритті ставиться у відповідність потік.

У мові C існують стандартні потоки:

stdin - стандартний консольне введення (клавіатура за замовчуванням);

stdout - стандартний консольний вивід (монітор за умовчанням);

Стандартні потоки відкриваються при кожному запуску програми.

Для роботи з файлами в програмах на C використовується заголовний файл stdio.h, в якому оголошено спеціальний тип даних - структура FILE, призначена для зберігання атрибутів (параметрів) файлів (покажчик поточної позиції файлу, ознака кінця файла, прапори індикації помилок, відомості про буферизації та ін.)

Поля структури типу FILE доступні за допомогою спеціальних

C-функцій. Для організації роботи з файлом використовується певна послідовність дій.

Оголошення потоку - змінної-покажчика на структуру типу FILE, в якій зберігатимуться атрибути файлу

FILE * fl,

де * fl - покажчик на файл.

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

fl = fopen ("шлях до файлу", "режим роботи файлу");

Параметр "шлях до файлу" вказує розміщення файлу на диску і обов'язково містить ім'я файлу і може містити ім'я логічного диска і шлях.

Параметр "режим роботи файлу" показує, як буде використовуватися файл:

"W" - для запису даних (висновок);

"R" - для читання даних (введення);

"A" - для додавання даних до існуючих записів.

Приклади відкриття файлів:

FILE * f_in, * _out;

f_in = fopen ("My_file1", "r");

f_out = fopen ("My_file2", "w");

Функція fopen () повертає значення покажчика на структуру типу файл. Якщо файл з якихось причин не відкривається, функція fopen () повертає значення NULL.

Розглянемо особливості режимів відкриття файлів. Якщо файл відкривається в режимі запису даних "w", то покажчик поточної позиції встановлюється на початок файла. Якщо зазначений у функції fopen () файл не існує, то він створюється. Необхідно пам'ятати, що відкриття існуючого файлу в режимі "w" призводить до знищення його старого змісту.

Відкриття файлу для читання в режимі "r" можливо тільки для створеного раніше файлу, при цьому покажчик поточної позиції встановлюється на початок файла. Якщо відкривається на читання файл не існує, функція fopen () повертає порожній покажчик зі значенням NULL.

Якщо файл відкривається в режимі додавання даних "a", то покажчик поточної позиції встановлюється на кінець файлу. Дані, раніше поміщені у файл, залишаються без змін. Якщо вказується неіснуючий файл, то він створюється заново. Також можна вказати додаткові умови режиму відкриття файлу:

"B" - двійковий потік;

"T" - текстовий потік;

"+" - Оновлення файлу.

Приклад

"R +" - читання файлу з оновленням, тобто можлива перезапис даних з усіканням;

"W +" - запис у файл і одночасно читання;

"A +" - додавання даних і читання.

Для почергового виконання читання і запису в режимі "+" необхідно ручне позиціонування курсору.

Питання для контролю:

1.Що таке файл?

2.Що таке потік?

3. Як відкрити файл?

4. Які є режими відкриття файлу?

Література:

1. 1.Шилдт Г.: Пер. с англ. –М.: Издательский дом “Вильямс”, 2002. –704с. –с. 284-301

Урок №40

(згідно робочої навчальної програми)

Тема: Обробка текстових файлів по рядках.

Питання:

1. Обробка відкритого файлу

2. Перевірка ознаки кінця файлу

3. Закриття файлу

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]