Печать вывода в окне вывода в Visual С++ IDE

Как распечатать в окне вывода в Visual С++? Проект, над которым я работаю, не относится к типу проекта консольного окна. Когда я его создаю и запускаю, он не открывает консольное окно. Вместо этого он открывает приложение win32, которое не создано мной. Я просто добавляю к нему что-то.

Я новичок в С++ и потому, что не могу распечатать переменные на любой консоли, мне очень тяжело отлаживать.

Поскольку проект Visual Studio 2010 не запускает консоль при ее создании и запуске, могу ли я печатать выходные данные, такие как переменные и другие, в окне вывода среды IDE?

Спасибо за любую помощь.

5 ответов

Вы можете использовать OutputDebugString("..."); для печати в окне вывода Visual Studio. Вы должны #include, хотя.


Я написал переносимый макрос TRACE. В MS-Windows он основан на OutputDebugString, как указано в других ответах.

Здесь я делюсь своей работой:

#ifdef ENABLE_TRACE
# ifdef _MSC_VER
# include <windows.h>
# include <sstream>
# define TRACE(x) \
 do { std::stringstream s; s << (x); \
 OutputDebugString(s.str().c_str()); \
 } while(0)
# else
# include <iostream>
# define TRACE(x) std::clog << (x)
# endif // or std::cerr << (x) << std::flush
#else
# define TRACE(x)
#endif
</iostream></sstream></windows.h>

Пример:

#define ENABLE_TRACE //can depend on _DEBUG or NDEBUG macros
#include "my_above_trace_header.h"
int main (void)
{
 int v1 = 123;
 ****** v2 = 456.789;
 TRACE ("main() v1="<< v1 <<" v2="<< v2 <<'\n');
}

Пожалуйста, не стесняйтесь давать какие-либо улучшения/предложения/вклады; -)


Вместо того, чтобы печатать в окне вывода в VS, как указано другими ответами, я предпочитаю создавать консольное окно в своих графических приложениях, а затем использовать регулярные printf или cout для записи информации об отладке. Это имеет то преимущество, что вы можете это сделать, даже когда вы запускаете без отладчика.

Смотрите этот сайт для простой функции, которая настраивает консоль.


Вы можете использовать функцию Windows OutputDebugString (см. здесь) для отправки вывода в отладчики. Эти выходы отображаются в окне вывода VS. Вы также можете смотреть эти выходы с помощью внешних приложений, например. DebugView.

Не забудьте удалить эти инструкции из вашего производственного кода, если вы не хотите, чтобы другие люди видели эти отладочные сообщения (что в противном случае было бы возможно с помощью таких инструментов, как DebugView...)


Я использовал это в прошлом, хотя не с приложением win32. Вы могли бы сделать это, хотя:)

http://www.cplusplus.com/forum/lounge/17371/

licensed under cc by-sa 3.0 with attribution.