Программирование на языке высокого уровня. Марапулец Ю.В. - 120 стр.

UptoLike

Составители: 

4.1.3. Файловые потоки ввода-вывода
Как было указано ранее, существуют специальные классы, описанные в fstream.h,
позволяющие производить ввод-вывод информации в файл:
ifstream - класс входных файловых потоков;
ofstream - класс выходных файловых потоков;
fstream - класс двунаправленных файловых потоков.
Эти классы являются производными от классов istream, ostream и iostream соответ-
ственно, поэтому они наследуют перегруженные операции << и >>, флаги форматирова-
ния, манипуляторы, методы, состояние потоков и т. д.
Использование файлов в программе предполагает следующие операции:
-
создание потока;
-
открытие потока и связывание его с файлом;
-
обмен (ввод/вывод);
-
уничтожение потока;
-
закрытие файла.
Каждый класс файловых потоков содержит конструкторы, с помощью которых
можно создавать объекты этих классов различными способами.
Конструкторы без параметров создают объект соответствующего класса, не связывая
его с файлом:
ifstream();
ofstream();
fstream();
Конструкторы с параметрами создают объект соответствующего класса, открывают
файл с указанным именем и связывают файл с объектом:
ifstream(const char *name, int mode = ios::in);
ofstream(const char *name, int mode = ios::out | ios::trunc);
fstream(const char *name. int mode = ios::in | ios::out);
Вторым параметром конструктора является режим открытия файла. Если установ-
ленное по умолчанию значение не устраивает программиста, можно указать другое, со-
ставив его из битовых масок, определенных в классе ios:
enum open_mode
{
in = 0х01, // Открыть для чтения
out = 0х02, // Открыть для записи
ate = 0х04, // Установить указатель на конец файла
арр = 0х08, // Открыть для добавления в конец
trunc = 0х10, // Если файл существует, удалить
nocreate = 0х20, // Если файл не существует, выдать ошибку
noreplace = 0х40. // Если файл существует, выдать ошибку
binary= 0х80, // Открыть в двоичном режиме
};
Производить операции ввода-вывода с файлами можно как с помощью конструк-
торов, так и с помощью методов классов ifstream и ofstream, которые представлены в
таблице 4.7.
120
     4.1.3. Файловые потоки ввода-вывода

       Как было указано ранее, существуют специальные классы, описанные в fstream.h,
позволяющие производить ввод-вывод информации в файл:
ifstream - класс входных файловых потоков;
ofstream - класс выходных файловых потоков;
fstream - класс двунаправленных файловых потоков.
       Эти классы являются производными от классов istream, ostream и iostream соответ-
ственно, поэтому они наследуют перегруженные операции << и >>, флаги форматирова-
ния, манипуляторы, методы, состояние потоков и т. д.
       Использование файлов в программе предполагает следующие операции:
- создание потока;
- открытие потока и связывание его с файлом;
- обмен (ввод/вывод);
- уничтожение потока;
- закрытие файла.
       Каждый класс файловых потоков содержит конструкторы, с помощью которых
можно создавать объекты этих классов различными способами.
• Конструкторы без параметров создают объект соответствующего класса, не связывая
     его с файлом:
•
ifstream();
ofstream();
fstream();

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

ifstream(const char *name, int mode = ios::in);
ofstream(const char *name, int mode = ios::out | ios::trunc);
fstream(const char *name. int mode = ios::in | ios::out);

     Вторым параметром конструктора является режим открытия файла. Если установ-
ленное по умолчанию значение не устраивает программиста, можно указать другое, со-
ставив его из битовых масок, определенных в классе ios:

enum open_mode
{
    in = 0х01,    // Открыть для чтения
    out = 0х02,     // Открыть для записи
    ate = 0х04,    // Установить указатель на конец файла
    арр = 0х08,      // Открыть для добавления в конец
    trunc = 0х10, // Если файл существует, удалить
    nocreate = 0х20, // Если файл не существует, выдать ошибку
    noreplace = 0х40. // Если файл существует, выдать ошибку
    binary= 0х80, // Открыть в двоичном режиме
};

     Производить операции ввода-вывода с файлами можно как с помощью конструк-
торов, так и с помощью методов классов ifstream и ofstream, которые представлены в
таблице 4.7.


                                              120