Основні типи для роботи з файлами бібліотеки <stdio.h> (мови С) або <сstdio> (мови С++).
FILE — структура, вміщує інформацію про файл або текстовий потік, що необхідний для виконання нею операцій введення/виведення, використовується для визначення:
файлового дескриптора;
поточної позиції в потоці;
індикатору кінця файлу;
індикатору помилок;
вказівнику на буфер потоку.
fpos_t — використовується для унікальної ідентифікації позицій кожного байту у файлі, не масивоподібний тип.
size_t — беззнаковий цілий тип, що є типом результату виконання оператору sizeof.
Основні функції роботи з файлами бібліотеки <stdio.h> (мови С) або <сstdio> (мови С++).
| Функція | Операція |
| fopen() | Встановлює зв'язок з файлом та відкриває потік |
| fclose() | Закриває потік |
| putc(), fputc() | Записує символ у файл |
| getc(), fgetc() | Зчитує символ з файлу |
| fgets() | Зчитує символьний рядок з файлу, що закінчується символьного рядка чи кінця файлу |
| fputs() | Записує рядок у файл |
| fseek() | Встановлює курсор на заданий байт файлу |
| ftell() | Повертає поточну позицію курсору у файлі |
| fprintf() | Файловий аналог функції printf() – запис у файл даних за визначеним форматом |
| fscanf() | Файловий аналог функції scanf() – зчитування у файл даних за визначеним форматом |
| feof() | Повертає значення істина, якщо знаходимось в кінці файлу |
| ferror() | Повертає значення істина, якщо виникла помилка |
| rewind() | Встановлює курсор на початок файлу |
| remove() | Знищую файл |
| rename() | Перейменування файлу |
| flush() | Очищує потік. Здійснює запис вмісту буферу у файл, пов'язаний з вказівником на файл flush(f), якщо flush() – вміст буферу буде записаний в усі відкриті файли. При успішному виконанні повертає 0, в іншому EOF. |
| fread() | Зчитує дані з файлу |
| fwrite() | Записує дані у файл |
| setbuf() | |
| tmpfile | Створює та відкриває тимчасовий файл, що знищується при виконанні функції fclose() |
Основні константи для роботи з файлами бібліотеки <stdio.h> (мови С) або <сstdio> (мови С++).
| Константа | Визначення |
| EOF | Від’ємне ціле число типу int, що використовується для визначення кінця файлу |
| NULL | Представляє значення вказівнику, що гарантовано вказує на неіснуючу (порожню) адресу в пам’яті |
| FOPEN_MAX | Кількість файлів, що можуть бути відкритими одночасно (по замовчуванню, як мінімум дорівнює 8) |
| FILENAME_MAX | Розмір масиву типу char для зберігання повної назви файлу |
| SEEK_SET | Має цілий тип даних, що може бути передано до функції fseek() для отримання позиції відносно початку файлу |
| SEEK_CUR | Має цілий тип даних, що може бути передано до функції fseek() для отримання позиції відносно поточної позиції у файлу |
| SEEK_END | Має цілий тип даних, що може бути передано до функції fseek() для отримання позиції відносно кінця файлу |
| TMP_MAX | Максимальна кількість унікальних імен файлів, що генерує функція tmpnam(); мінімум 25 |
| BUFSIZ | Ціле тип даних. Вміщує розмір буферу, що використовується функцією setbuf(). |






