Язык программирования C++


             

и это единственный обязательный аргумент.


Первый аргумент – имя выходного файла, и это единственный обязательный аргумент. Второй аргумент задает режим, в котором открывается поток. Этот аргумент – битовое ИЛИ следующих величин:



ios::app
при записи данные добавляются в конец файла, даже если текущая позиция была перед этим перемещена;


ios::ate
при создании потока текущая позиция помещается в конец файла; однако, в отличие от режима app, запись ведется в текущую позицию;


ios::in


поток создается для ввода; если файл уже существует, он сохраняется;


ios::out


поток создается для вывода (режим по умолчанию);


ios::trunc
если файл уже существует, его прежнее содержимое уничтожается, и длина файла становится равной нулю; режим действует по умолчанию, если не заданы ios::ate, ios::app или ios::in;


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


Третий аргумент используется только в том случае, если создается новый файл; он определяет параметры создаваемого файла.

Можно создать поток вывода с помощью стандартного конструктора без аргументов, а позднее выполнить метод open с такими же аргументами, как у предыдущего конструктора:

void open(const char* szName, int nMode = ios::out, int nProt = filebuf::openprot);

Только после того, как поток создан и соединен с определенным файлом (либо с помощью конструктора с аргументами, либо с помощью метода open), можно выполнять вывод. Выводятся данные операцией <<. Кроме того, данные можно вывести с помощью методов write или put:

ostream& write(const char* pch, int nCount); ostream& put(char ch);

Метод write выводит указанное количество байтов (nCount), расположенных в памяти, начиная с адреса pch. Метод put выводит один байт.

Для того чтобы переместить текущую позицию, используется метод seekp:

ostream& seekp(streamoff off, ios::seek_dir dir);

Первый аргумент – целое число, смещение позиции в байтах. Второй аргумент определяет, откуда отсчитывается смещение; он может принимать одно из трех значений:



ios::beg
смещение от начала файла


ios::cur
смещение от текущей позиции


ios::end
смещение от конца файла
<

Содержание  Назад  Вперед