LINUX.ORG.RU

C++ portable output: console/GUI ?


0

0

В ходе модификации консольной проги под ГУИ-версию возник такой вопрос...
В консольной версии вывод о процессе работы осуществляется так:
cout << "Program works fine, blah blah blah";
Когда захотелось сделать вывод в ГУИшное окошко пришло осознание того, что все подобные конструкции типа cout << ""; придется переписывать под конкретную граф. либу. (QT или GTK к примеру).
Есть ли нечто подобное типа std::cout только с перспективой переноса, скажем что-то типа my_ported_cout c перегруженным << , где можно заменять саму реализацию вывода , а не все конструкции в самой программе?
Например:
my_ported_cout << "blah";
для консольной версии работает с stdout, для графической версии рисует в окошко и т.д., т.е чтоб каждый раз не заботится о выводе, а иметь уже готовую реализацию my_ported_cout, которая в зависимости от #define CONSOLE_OUTPUT или GTK_WINDOW_OUTPUT уже сама решает куда ей вывод осуществлять... Есть такое чудо где-нибудь? Или на практике каждый раз приходится везде вывод заменять?

Заранее большое спасибо.

anonymous

для простоты можешь взять мультиплатформенную гуйню (например я пользую fltk, www.fltk.org) ну а так вся гуйня выводит строки, в том или ином виде, поэтому проже всего запихать бла-бла в stringstream а потом из него достать строчку и дальше пусть кому надо тот так ее и выводит.

anonymous
()
Ответ на: комментарий от anonymous

Спасибо. Тоже выход, но хотелось бы чтоб решение каким-то образом работало с уже имеющимися перегруженными << , т.е было объектом ostream , способным осуществлять описанную выше задумку. Неужели никто такое не придумал. Или я думаю не в ту сторону...

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.