Предыдущий пост -
Следующий пост -

basic_ofstream.

Рубрика: fstream, Дата: 9 August, 2013, Автор:
Tags: ,

Рассмотрим шаблон basic_ofstream это выходной файловый поток

Для начала перечислим типы или классы которые наследуются от базовых классов basic_ostream и ios_base: event, event_callback,  failure, fmtflags, Init, iostate, openmode, seekdir, sentry.

 

Теперь разберем открытые члены функции. Начнем с конструкторов.

Constructors

#include <fstream>
using std::ofstream;

int main()
{
	ofstream f("text.txt");

	f <<"zapic6 v text";

	f.close();//закрываем поток

	return 0;
}

 

basic_ofstream::open()

Функция открывает файл.

#include <fstream>
using std::ofstream;

int main()
{
	ofstream f;
	f.open("text.txt",ofstream::out | ofstream::app);

	f <<"hellow world";

	f.close();

	return 0;
}

 

basic_ofstream::rdbuf()

Функция возвращает буфер потока.

#include <fstream>
using std::ifstream;
using std::ofstream;
using std::filebuf;
#include <cstdio>//EOF

int main()
{
	ifstream iff("text.txt");
	ofstream off("copy.txt");

	filebuf* inff1=iff.rdbuf();
	filebuf* outff1=off.rdbuf();

	char c=inff1->sbumpc();//видимо извлекает символ из буфера
	while(c!=EOF)
	{
		outff1->sputc(c);
		c=inff1->sbumpc();
	}

	iff.close();
	off.close();

	return 0;
}

 

basic_ofstream::swap()

меняет местами потоки.

#include <fstream>
using std::ofstream;

int main()
{
	ofstream f("text.txt");
	ofstream f1;

	f.swap(f1);

	f1 <<"hellow world gacpada";

	f1.close();

	return 0;
}

 

Так запишем функции унаследованные от basic_ostream: operator<<, put, write, tellp, seekp, flush.

Функции и члены унаследованные от basic_ios: good, eof, fail, bad, operator!, operator bool, rdstate, setstate, clear, copyfmt, fill, exceptions, imbue, tie, rdbuf, narrow, widen.

Функции наследованные от ios_base: flags, setf, unsetf, precision, width, imbue, getloc, xalloc, iword, pword, register_callback, sync_with_stdio.

И функция которая не входит в класс это swap, просто обменивает два потока.

#include <fstream>
using std::ofstream;

int main()
{
	ofstream f("text.txt");
	ofstream f1;

	swap(f1,f);

	f1 <<"hellow world gacpada";

	f1.close();

	return 0;
}

[youtube]http://www.youtube.com/watch?v=W_Ids5AYP4s[/youtube]

rss