Как указать консоль как файл для записи с ostream? - PullRequest
3 голосов
/ 02 января 2012

cout является объектом класса ostream .
Также, когда мы пишем:

filebuf   objFileBuf;
objFileBuf.open ("test.txt", ios :: out);

ostream objOstream (&objFileBuf);
objOstream << "Test sentence\n";

objFileBuf.close();

текст записывается в файл.

Как указать "консоль" как файл для записи через ostream?

Ответы [ 2 ]

7 голосов
/ 02 января 2012

Вы можете сделать это:

ostream objOstream (cout.rdbuf());
objOstream << "Test sentence goes to console\n";

Или вы можете сделать это:

ostream & objOstream = cout;
objOstream << "Test sentence goes to console\n";

Второй не работает с streambuf, скорее вы просто создаете ссылку наstd::cout, и используйте ссылку.

0 голосов
/ 02 января 2012

Ты не.Вы просто пишете cout или cerr.Эти потоки организуются оболочкой, и вы не можете делать больше - ваша программа не может создать новый канал для консоли.Почему вы не можете использовать cout или cerr?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...