Файлом називають масив інформації, який має ім’я і якого розташовано на зовнішньому носії інформації (гнучкому диску, жорсткому диску, оптичному диску, магнітній стрічці, кристалі флеш-пам’яті і т. і.).
Розрізняють два види файлів: файли послідовного та прямого доступу.
Файли послідовного доступу
Файли послідовного доступу - це текстові файли. Такий файл складається з рядків символів. Кожен з рядків може мати свою довжину. Закінчується рядок спеціальним символом, який позначається як EOL (End Of Line). Символ EOL - це один або два байти, які мають спеціальне значення. Конкретне значення символу EOL залежить від операційної системи або навіть від прикладної програми, з якою ми працюємо.
Рядок файлу послідовного доступу складається з полів або значень, розділяються вони символом-роздільником (наприклад, пробілом або комою).
В роботі файлу послідовного доступу застосовується спеціальна змінна - внутрішній файловий покажчик. Його значення завжди відповідає тому полю (значенню), що буде зчитуватися у наступний момент.
Файл послідовного доступу можна читати тільки послідовно, з початку до кінця. Якщо файл прочитано до кінця, прочитати інформацію з нього ще раз можна тільки якщо файловий покажчик буде встановлено на перше поле першого рядка файлу. Це можна зробити двома способами: закрити і, далі, знову відкрити файл або застосувати спеціальну функцію rewind(FILE*) з модулю stdio.h .
Файли прямого доступу
Файли прямого доступу можуть бути як текстовими, так і бінарними. Такий файл складається із записів-значень, які мають однаковий розмір. Символ-роздільник не застосовується. Для виконання операцій також застосовується внутрішній файловий покажчик, він вказує на той запис, з яким буде виконуватися наступна операція. Функція
fseek(FILE* f, long offset, int whence)
дозволяє встановити покажчик у будь-яку позицію у межах файлу. Для файлу прямого доступу операцію запису або читання можна виконувати для будь-якого запису. Записувати або читати значення можна у будь-якому порядку, не обов’язково послідовно.
Бінарний режим
При програмуванні роботи з файлом у бінарному режимі, останній розглядається як проста послідовність байтів. Чисельні значення у більшості випадків записуються безпосередньо, як бінарні коди, без форматних перетворювань. Це дає змогу уникнути похибок форматних перетворювань і робить файли більш компактними. Особливо актуальним це є для даних дійсних типів: зберігання таких даних у файлах не збільшує похибку їх подання.
Бінарний режим роботи з файлами звичайно застосовується при програмуванні процедур обробки інформації низького рівня (на байтовому рівні). Це звичайно стосується тих програм або програмних компонентів, які обслуговують зовнішні пристрої або є елементами програмно-апаратного інтерфейсу.