Справочник по C/C++
Классы fstream, ifstream и ofstream

Назначение: поддерживает операции файлового ввода-ввода
Заголовок:
Иерархия:

  • ios -> istream -> ifstream
  • ios -> ostream -> ofstream
  • ios -> iostream -> fstream

Методы

close — Закрывает файл связанный с потоком
open — Связывает файл с потоком
setmode — Устанавливает режим работы соответствующего потока: двоичный или текстовый

Конструкторы

fstream();
#include 
fstream();
fstream(const char *filename, int mode
	int access=filebuf::openprot);
fstream(int fd);
fstream(int fd, char *buf, int size);

ifstream();
ifstream(const char * filename,
	int mode=ios::in, int access=filebuf::openprot);
ifstream(int fd);
ifstreamfint fd, char *buf, int size);

ofstream();
ofstream(const char * filename, int mode=ios::out,
	int access=filebuf::openprot);
ofstream(int fd);
ofstream(int fd, char *buf, int size);

Функции fstream(), ifstream() и ofstream() представляют собой конструкторы классов fstream, ifstream и ofstream соответственно.

Версии функций fstream(), ifstream() и ofstream(), которые не принимают параметров, создают поток, не связанный ни с одним файлом. Этот поток можно позже связать с нужным файлом с помощью функции open().

Версии функций fstream() , ifstream() и ofstream(), которые принимают имя файла в качестве первого параметра, используются в прикладных программах наиболее часто, хотя вполне корректно можно открыть файл с помощью функции open(), в большинстве случаев обходятся без нее, поскольку эти функции конструкторов fstream, ifstream и ofstream автоматически открывают файл при создании потока. Функции конструкторов имеют те же параметры и значения, действующие по умолчанию, что и функция open().(Подробности — в разделе "open".) Например, самый распространенный способ открытия файла показан в следующем примере.

ifstream mystream("myfile");

Если по некоторым причинам файл открыть не удастся, переменная связанного потока будет равна значению false. Следовательно, либо использовав для открытия файла функцию конструктора, либо вызвав явным образом функцию open(), вам следует убедиться в том, что файл действительно был открыт, проверив для этого значение потока.

Версии функций fstream(), ifstream() и ofstream(), которые принимают только один параметр(уже действительный дескриптор), создают поток, а затем связывают его с дескриптором файла, заданным параметром fd.

Версии функций fstream(), ifstream() и ofstream(), которые принимают дескриптор файла, указатель на буфер и размер, создают поток и связывают его с дескриптором файла, заданным параметром fd. Параметр buf должен быть указателем на область памяти, которая будет служить в качестве буфера, а параметр size определяет длину буфера в байтах.(Если параметр buf оказывается нулевым указателем и/или если значение параметра size равно нулю, никакой буферизации не происходит.)


Смотрите также

close — Закрывает файл связанный с потоком
open — Связывает файл с потоком