ФАЙЛЫ
Что общего во всех изученных ранее темах, методах программирования, алгоритмах и программах? Все они для хранения входной и выходной информации использовали только оперативную память. Как для простых, так и для структурированных данных (статические и динамические массивы, строки, структуры и другие) внешнюю память мы не использовали. В этой главе будет изучен один из методов программирования для работы с информацией разного типа, сохранённой на внешнем устройстве в файлах. Рассматривается создание, чтение, анализ и корректировка файлов.
Есть несколько подходов для работы с файлами.
Первый из них основан на использовании самостоятельных, то есть не включённых ни в какие стандартные классы, встроенных функций для работы с файлами. Набор таких функций называют системой ввода-вывода классического “старого” языка С. Язык C++ также поддерживает весь набор таких функций.
Кроме этого, язык С++ имеет свою объектно-ориентированную систему ввода-вывода, которая представляет собой методы стандартных классов для работы с потоками (про потоки смотри дальше в следующем параграфе).
Нельзя здесь не упомянуть о базах данных и системах управления ими (СУБД). В отличие от предыдущих двух способов этот предполагает работу не с одним или двумя небольшими файлами, а с несколькими взаимосвязанными большими по объёму файлами, которые объединяются в базу данных. При этом можно использовать как самостоятельные СУБД (системы управления базами данных), так и встроенные в другие системы (например, Delphi, Builder).
В этой главе рассматривается первый подход для работы с небольшими по объёму файлами. Остальные способы будут рассмотрены на втором курсе после подробного изучения объектно-ориентированного метода программирования.
§1. Порядок работы с файлом