EI>у меня следующая проблема... есть некий класс, у которого есть метод print() EI>исторически так сложилось, что внутри этого метода используется printf() EI>который пишет в stdout и менять это нельзя
EI>у меня GUI морда, которая использует этот класс. Мне надо получить EI>в какую-нибудь переменную вывод этого метода...
EI>пробовал вот таким способом:
printf() -- это стадартная библиотека C, поэтому он ничего не знает о cout из стадартной библиотеки C++ (он выводит не через cout).
Все, что приходит в голову -- запускать дочерний процесс, который будет просто копировать из stdin в stdout. Подключать его ввод к stdtout Вашего процесса и перехватывать его вывод. Если все это в Windows, посмотрите документацию на CreateProcess().