Теоретичні відомості

Файли

Комп’ютерний практикум 4

1.Мета. Навчитися вводити і виводити інформацію в файли.

 

2.Задачі:

1) навчитись використовувати директиви препроцесора;

2) навчитись створювати файл;

3) навчитись записувати інформацію у файл;

4) навчитися читати інформацію з файлу;

5) розробити програму за варіантом;

6) проаналізувати отримані результати;

7) оформити звіт.

 

 

В інтегроване середовище підготовки програм мовою С++ входить препроцесор. Призначення препроцесора – обробка вхідного тексту програми до її компіляції. Для керування препроцесором використовуються директиви препроцесора, кожна з яких розміщується в окремому рядку і починається символом «#». Визначені наступні препроцесорні директиви: #include, #define, #undef, #if, #ifdef, #ifundef, #else, #endif, #elif і т. ін.

Директива #include дозволяє включати в текст програми як тексти стандартних файлів, так і тексти з файлів створених користувачем. Наприклад:

#include <conio.h> // підключається стандартний файл

#include “my,cpp” // підключається файл користувача

Директива #define має декілька модифікацій. Вона передбачає визначення макросів чи препроцесорних ідентифікаторів, кожному з яких ставиться у відповідність деяка символьна послідовність. Наприклад:

#define K 40 // задається константа К дорівнює 40

#define MAX(x,y) ((x)>(y))?(x):(y) // макрос для визначення максимального зна //чення серед двох чисел

Директива #undef відміняє дію директива #define.

Директива #if і її модифікації #ifdef, #ifundef разом з директивами #else, #endif, #elif дозволяють організувати умовну обробку тексту програми, тобто можна компілювати не весь текст програми, а тільки вказані частини.

Файл – це послідовність байтів. Функції введення та виведення інформації в стандартній бібліотеці С++ дозволяють читати дані з файлів і записувати їх у файли. Стандартні функції обробки файлів знаходяться в заголовочному файлі stdio.h. Відкривши файл, з ним пов’язується потік (stream), з яким потім працюють усі функції обробки файлів. Вміст файла перевантажується в потік. Під час закриття файлу вся інформація з потоку вивантажується у файл і потік звільняється, а файл стає доступним для операційної системи.

 

Таблиця 4.1 - Функції обробки файлів

Назва функції Призначення Прототип
fopen() Відкриває файл та пов’язує потік з іменем файлу, повертає вказівник на відкритий файл або NULL FILE fopen(char * pathname, char *type)
fclose() Закрити потік. Повертає 0 або EOF (кінець файлу). int fclose(FILE *stream)
fscanf() Форматоване виведення (читання). int fscanf(FILE *stream, char *format,[argument…])
fprintf() Форматоване введення (запис). int fprintf(FILE *stream, char *format,[argument…])
ftell() Поточне положення вказівника файлу. У разі помилки повертає –1L. long int ftell(FILE *stream)
fseek() Переміщує вказівник файлу. Повертає ціле число. int fseek(FILE *stream,long offset,int origin)
feol() Кінець файлу. Повертає 0 або 1. int feol(FILE *stream)