Ofstream fout; // создание потока (объекта) fout

fout.open("vix.dat", ios::out); // открытие файлаvix.dat

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

ifstream fin("vx.dat", ios::in); // открытие файла vx.dat для ввода

ofstream fout("vix.dat", ios::out); // открытие файла vix.dat для вывода

fstream fio("vvx.dat", ios::in|ios::out); // открытие vvx.dat для в-ы

Конструкторы создают объекты соответствующего класса, открывают файл с указанным именем и связывают файл с потоком. Первый аргумент у конструкторов – имя файла, и это единственно обязательный аргумент. Второй аргумент задаёт режим доступак файлу.

Режим доступа к файлу служит для описания характера использования файла Ofstream fout; // создание потока (объекта) fout – для чтения, для записи и т. д. В классе ios определены константы для указания режима доступа к файлу:

ios::in открыть файл только для чтения;

ios::out открыть файл только для записи;

ios::app открыть файл для добавления в конец файла;

ios::trunc если файл существует, удалить его;

ios::binary открыть файл в двоичном режиме.

Режимы доступа можно объединять с помощью операции ИЛИ.

По умолчанию объекты класса ofstream открыты для вывода, а класса ifstream – для ввода, поэтому режимы out и in можно опускать. По умолчанию все файлы открываются в текстовом режиме.

Любой файл в С++, независимо от того Ofstream fout; // создание потока (объекта) fout, что в нём содержится – отформатированный текст или неформатированные данные – может быть открыт как в текстовом, так и в двоичном режиме. Но всё же, если необходимо сохранить данные в двоичном виде, лучше использовать двоичные файлы. В С++ это делается путём использования константы ios::binaryдля указания режима доступа к файлу.

Прежде чем начать обмен данными с файлом, следует убедиться, была ли операция открытия файла успешной, так как можно допустить ошибку в имени файла или в указании пути к файлу. Например, проверить правильность открытия файла vx.datможно следующим образом:

if(!fin){cout<<"File no open"; exit(1);}

Любой аргумент функции exit(), отличный от нуля, показывает, что Ofstream fout; // создание потока (объекта) fout программа прекратила выполнение из-за ошибки.

Только после того, как поток (объект) успешно соединён с файлом (т.е. файл открыт), можно выполнять обмен информацией с файлом.

Для закрытия файла (т.е. отсоединения потока от файла) используется функция close(),которая не имеет параметров и возвращаемого значения:

fin.close(); //закрытие файла vx.dat

Обнаружить конец файла можно с помощью функции eof().Функция возвращает значение true, если был достигнут конец файла, в противном случае функция возвращает значение false.


documentanldxdx.html
documentanleeof.html
documentanlelyn.html
documentanletiv.html
documentanlfatd.html
Документ Ofstream fout; // создание потока (объекта) fout