open()
#include <fstream.h> void open(const char *filename, int mode, int access=filebuf::openprot);
Описание
Связывает файл с потоком
Функция является членом классов fstream, ifstream и ofstream. С помощью функции open() файл связывается с потоком. Параметр filename содержит имя файла и может включать спецификатор пути. Значение параметра mode определяет, в каком режиме открывается файл. Ниже перечислены возможные значения этого параметра.
Используя оператор ИЛИ(OR), можно объединять в одном выражении два или больше значений(из перечисленных выше). Включив значение ios::арр, можно обеспечить добавление всех выводимых данных в конец заданного файла. Это значение можно использовать только с файлами, которые позволяют выполнять операции вывода. Включение значения ios::ate оставляет внутренний указатель в конце файла при его открытии, но несмотря на это операции ввода-вывода могут выполняться в любом месте файла. Значение ios::binary обеспечивает возможность открывать файл для выполнения двоичных операций ввода-вывода. По умолчанию файлы открываются в текстовом режиме. Значение ios::in указывает на способность файла к выполнению операций ввода, а значение ios::out — операций вывода. Однако создание потока ifstream само по себе предполагает ввод, создание потока ofstream — вывод, а открытие файла с использованием потока fstream — как ввод, так и вывод. Использование значения ios::trunc приводит к разрушению содержимого уже существующего файла с таким же именем, а сам файл усекается до нулевой длины. Включение значения ios::nocreate обрекает функцию open() на неудачу, если заданного файла еще не существует. Значение ios::norepiace запрещает выполнение функции open(), если заданный файл уже существует, а значения ios::ate и ios::арр при этом не заданы. Значение параметра access определяет режим доступа к файлу. По умолчанию действует значение filebuf::openprot (filebuf — это базовый класс для классов работы с файлами), означающее обычный файл. За информацией о других возможных значениях параметра access обратитесь к документации на используемый вами компилятор. Открывая файл, для параметров mode и access можно использовать значения, действующие по умолчанию. Открывая файл ввода, параметр mode можно по умолчанию установить равным значению ios::in. Открывая файл вывода, параметр mode по умолчанию можно установить равным значению ios::out. В любом случае для параметра access по умолчанию используется вариант обычного файла(normal file). Например, при выполнении следующего фрагмента программы открывается файл с именем TEST для операций вывода. out.open("test"); //по умолчанию работа с обычным //файлом для вывода Чтобы открыть поток для ввода и вывода, необходимо задать для параметра mode значения ios::in и ios::out, как показано ниже. mystream.open("test", ios::in | ios:out); Во многих компиляторах при открытии файлов для операций чтения/записи никаких значений, действующих по умолчанию, не предусмотрено, Во всех случаях, если функция open() выполняется неудачно, поток будет равен нулю. Следовательно, прежде чем использовать файл, необходимо убедиться в том, что он был успешно открыт. |
Нет комментариев. Оставить комментарий: |