Національний технічний університет України
«Київський політехнічний інститут імені Ігоря Сікорського»Кафедра АПЕПС
Алгоритмізація та програмування 2: . Процедурне програмування
ЗВІТ
До лабораторної роботи № 1
«Файли: створення, запис, читання»
Варіант №24
Дата «15» Січня 2022
ЗАВДАННЯ
1. Ознайомитись з основними функціями для роботи з файлами.2. У якості індивідуального завдання необхідно написати програмний код, що реалізує створення двовимірного квадратного масиву розмірністю SIZE; виконання початкової ініціалізації всіх елементів масиву; запис у файл початкових даних і значень всіх елементів двовимірного квадратного масиву; створює копію цього файлу з новим розширенням *.bak.3. Роздрукувати (вивести на екран) протокол виконання програмного коду.4. Вихідні дані вибрати за індивідуальними варіантами (див. Додаток B-1).
ВХІДНІ ДАНІ ДО ПРОГРАМИ
1. Початкові дані для запису в файл – КПІ ім. Ігоря Сікорського, кафедра АПЕПС, індекс академічної групи, прізвище студента, номер варіанту.2. Основні дані – значення усіх елементів двовимірного квадратного масиву розмірністю SIZE.3. Дивитися Додаток B-1 для вибору варіанту.РЕЗУЛЬТАТ РОБОТИ:1. Підготувати ЗВІТ до лабораторної роботи, що містить посилання на сайт Repl.it.2. Програмний код розмістити на сайті Repl.
3. ЗВІТ до комп’ютерного практикуму додати в Клас.
Теоретичні відомості
Вказівник на файл (змінна-вказівник типу FILE *) – це вказівник на інформацію, що визначає різні параметри файлу, включаючи його ім’я, стан і поточну позицію. Вказівник на файл ідентифікує конкретний дисковий файл і використовується потоком для виконання операцій вводу та виводу. Для читання або запису файлу програма використовує вказівник на файл. Файлова змінна file створюється наступним оператором:
FILE *file;
Операція, за допомогою якої програма запитує доступ до файлу, має назву відкриття файлу. Звільнення файлу наприкінці роботи програми називається закриттям файлу.
Функція fopen() відкриває потік. Цією функцією управляють три основних параметри: ім’я файлу, який необхідно відкрити, вид застосування файлу й вказівник на файл, що повертає функція. Синтаксис: FILE * fopen(char *filename, char *mode). Функція fopen() відкриває файл, іменований параметром filename і зв’язує його з відповідним потоком stream. Функція fopen() повертає як результат адресний вказівник, який ідентифікує потік stream у наступних операціях. Файл може бути відкритий у таких режимах (mode):
r - відкриття файлу тільки для читання;
w - створення файлу для запису;
а - приєднання, відкриття для запису в кінець файлу або створення файлу для запису, якщо він не існує.
r+ - відкриття існуючого файлу для обновлення (зчитування і запису)
w+ - створення нового файлу для змінювання
a+ - відкриття для приєднання; відкриття щоб додати щось в кінець файлу
Якщо даний файл відкривається або створюється у текстовому режимі, можна додати символ t до значення параметра mode (rt, w+t). Для специфікації бінарного режиму можна до значення параметра mode додати символ b (wb, a+b). Значення, що повертає функція: при успішному завершенні fopen() повертає вказівник на відкритий потік stream. У випадку помилки функція повертає NULL.
Для закриття потоку використовується функція fclose(). Синтаксис: int fclose(FILE *stream). Аргументом є вказівник на відкритий файл. Якщо файл успішно закритий, то функція fclose() повертає значення 0. Функція fclose() зберігає у файл дані, які знаходяться у дисковому буфері, і виконує операцію системного рівня по закриттю файлу. Виклик fclose() звільняє блок управління файлом, що пов’язаний з потоком, і робить його доступним для повторного використання.
Варіант завдання
//
Блок-схема
/ /
Результати програми
Вивід на екран монітора результату
/
/ /
Висновок:
При виконанні комп’ютерного практикуму було ознайомлено з основними функціями, що призначені для роботи з файлами. Розроблено програму, що копіює файл будь-якого типу. В циклі копіювання реалізовано завершення процедури при зчитуванні ознаки кінця файлу – EOF. Імена файлів передаються програмі як додаткові параметри командного рядка
Силка на repl.it: https://replit.com/join/hupdnoanyw-tr-15shiepietko