C ++ / Visual Studio — Как вывести на тестовое окно вывода?

Мне известно о регистраторе в Visual Studio, т.е.

Logger::WriteMessage("foo");

Это прекрасно работает для тестового кода, менее практично для кода внутри приложения. Итак, я ищу стандартное решение для перенаправления сообщений stdout внутри кода.

0

Решение

Поток в std-out можно переназначить, например:

// REDIRECT STD STREAM
streambuf * backup;
backup = cout.rdbuf();
stringstream ss;
cout.rdbuf(ss.rdbuf());

// DO SOMETHING
cout << "foo\n";

// PRINT STREAM TO LOGGER
Logger::WriteMessage(ss.str().c_str());

// ASSIGN COUT BACK TO STDOUT
cout.rdbuf(backup);
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]