Лекция: Использование файлов для ввода- вывода информации.
Объекты, создаваемые для считывания или записи данных в файлы, называются ofstream. Они являются производными от уже рассмотренного класса iostream. Чтобы приступить к записи в файл необходимо создать объект ofstream, а потом связать его с определённым файлом на диске. Для этого требуется включение в программу файла fstream.h (в этом случае подключение файла iostream.h не нужно).
Объектами iostream поддерживаются флаги, отражающие состояние ввода-вывода. Значение их можно получить при помощи функций.
§ Eof() — возвращает TRUE, если в потоке встречается символ EOF (конец файла).
§ Bad() — возвращает TRUE при попытке ошибочной операции.
§ Fail() —возвращает TRUE как и bad(), а также если операция невыполнима сейчас.
§ Good() —возвращает TRUE, когда всё идёт хорошо.
Для открытия файла myfail.txt нужно^
· Создать поток:
1. для ввода — ifstream f1;
2. для вывода — ofstream f2;
3. для ввода и вывода — fstream f3;
· Привязать поток к файлу:
1. open(имя_файла, режим, доступ);
2. имя файла — параметр типа *char, может содержать полный путь к файлу .
3. режим — тип int, значения см. таблице.
4. доступ —тип int, задаёт права доступа к файлу (см. таб.)
Режим: | |
Ios::app | Добавление в конец файла, только для вывода |
Ios::ate | Позиционирование в конец файла |
Ios::binary | Открытие в двоичном режиме (ввод не текста) |
Ios::in | Открытие файла для ввода |
Ios::nocreate | Открыть уже существующий файл |
Ios::noreplase | Создать новый, если уже есть — ошибка |
Ios::out | Открытие файла для вывода |
Ios::trunc | Открытие существующего файла с уничтожением информации в нём, длина файла ==0. |
Атрибуты: | |
Обычный файл, со свободным доступом, по умолчанию | |
Только для чтения | |
Скрытый файл | |
Системный файл | |
Архивный файл |
При использовании параметров по умолчанию можно сделать так:
F2(“d:\\user\\bs-11\\f2.dat”); или
Ifstream f1(“test.txt”);
Ofstream f2(“rez.txt’);
При окончании работы с программой необходимо использовать метод close(), закрытие файла.