Re: Переопределение stdout / cout
От: TheBeard Россия  
Дата: 14.11.08 09:11
Оценка:
EI>у меня следующая проблема... есть некий класс, у которого есть метод print()
EI>исторически так сложилось, что внутри этого метода используется printf()
EI>который пишет в stdout и менять это нельзя

EI>у меня GUI морда, которая использует этот класс. Мне надо получить

EI>в какую-нибудь переменную вывод этого метода...

EI>пробовал вот таким способом:


printf() -- это стадартная библиотека C, поэтому он ничего не знает о cout из стадартной библиотеки C++ (он выводит не через cout).

Все, что приходит в голову -- запускать дочерний процесс, который будет просто копировать из stdin в stdout. Подключать его ввод к stdtout Вашего процесса и перехватывать его вывод. Если все это в Windows, посмотрите документацию на CreateProcess().
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.