Більшість комп'ютерних програм працюють з файлами, і тому виникає необхідність створювати, видаляти, записувати читати, відкривати файли. Що ж таке файл? Файл - іменований набір байтів, який може бути збережений на деякій накопичувачі. Ну, тепер ясно, що під файлом розуміється деяка послідовність байтів, яка має своє, унікальне ім'я, наприклад файл.txt. В одній директорії не можуть знаходитися файли з однаковими іменами. Під ім'ям файлу розуміється не тільки його назву, а й розширення, наприклад: file.txt і file.dat - різні файли, хоч і мають однакові назви. Існує таке поняття, як повне ім'я файлів - це повна адреса до директорії файлу з вказівкою імені файлу, наприклад: D: \ docs \ file.txt. Важливо розуміти ці базові поняття, інакше складно буде працювати з файлами.
Для роботи з файлами необхідно підключити заголовний файл <fstream>. У <fstream> визначені кілька класів і підключені заголовні файли <ifstream> - файловий ввід і <ofstream> - файловий висновок.
Файловий ввід / вивід аналогічний стандартному вводу / виводу, єдина відмінність - це те, що введення / висновок виконані не на екран, а у файл. Якщо введення / виведення на стандартні пристрої виконується за допомогою об'єктів cin і cout, то для організації файлового введення / виведення досить створити власні об'єкти, які можна використовувати аналогічно операторам cin і cout.
Наприклад, необхідно створити текстовий файл і записати в нього рядок Робота з файлами в С + +. Для цього необхідно виконати наступні кроки:
створити об'єкт класу ofstream;
cвязана об'єкт класу з файлом, в який проводитиметься запис;
записати рядок у файл;
закрити файл.
Чому необхідно створювати об'єкт класу ofstream, а не класу ifstream? Тому, що потрібно зробити запис у файл, а якби потрібно було вважати дані з файлу, то створювався б об'єкт класу ifstream.