Хелпикс

Главная

Контакты

Случайная статья





Файловые потоки



2.3 Файловые потоки

Файловые потоки библиотеки ввода-вывода реализуют объектно-ориентированную методику работы с дисковыми файлами. Имеется три класса таких потоков:

· ifstream специализирован для ввода из дисковых файлов.

· ofstream специализирован для записи дисковых файлов.

· fstream управляет как вводом, так и записью на диск.

Эти классы выводятся соответственно из istream, ostream и iostream. Таким образом, они наследуют все их функциональные возможности (перегруженные операции ”<<” и ”>>” для встроенных типов, флаги форматирования и состояния, манипуляторы и т.д.).

Чтобы работать с файловым потоком, нужен, во-первых, объект потока, а во-вторых, открытый файл, связанный с этим объектом.

Каждый из трех классов файловых потоков имеет четыре конструктора.

· Конструктор, создающий объект без открытия файла:

o ifstream();

o ofstream();

o fstream();

· Конструктор, создающий объект, открывающий указанный файл и закрепляющий этот файл за потоком. Аргументами являются имя файла, режим открытия и режим защиты (в Windows не используется);

o ifstream(const char *name, int mode=ios::in, long prot=0666);

o ofstream(const char *name, int mode=ios::out, longprot=0666);

o fstream(const char *name, int mode, long prot = 0666);

· Конструктор, создающий объект и связывающий с ним уже открытый файл. В качестве аргумента передается дескриптор файла:

o ifstream(int file);

o ofstream(int file);

o fstream(int file);

· Конструктор, создающий объект и связывающий с ним уже открытый файл; объект ассоциируется указанным буфером:

o ifstream(int file, char *buf, int len);

o ofstream(int file, char *buf, int len);

o fstream(int file, char *buf, int len);

При использовании конструктора, создающего объект без открытия файла, необходимо дополнительно вызвать метод open(), который позволяет открыть файл с удобным для нас вариантом задания параметров.



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.