![]()
|
|||||||
Файловые потоки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(), который позволяет открыть файл с удобным для нас вариантом задания параметров.
|
|||||||
|