Самый простой способ написать выходное сообщение в «окне вывода» в Visual Studio 2010? - PullRequest
17 голосов
/ 05 июля 2010

Я пробовал OutputDebugString функцию, и большую часть времени я получаю сообщение об ошибке:

error C2664: 'OutputDebugStringA' : cannot convert parameter 1 from 'int' to 'LPCSTR'

Пожалуйста, предложите. Спасибо.

Ответы [ 6 ]

24 голосов
/ 05 июля 2010

Он принимает только строку в качестве параметра, а не целое число.Попробуйте что-то вроде

sprintf(msgbuf, "My variable is %d\n", integerVariable);
OutputDebugString(msgbuf);

Для получения дополнительной информации посмотрите на http://www.unixwiz.net/techtips/outputdebugstring.html

11 голосов
/ 05 июля 2010

В целях отладки вы можете использовать _RPT макросы .

Например,

_RPT1( 0, "%d\n", my_int_value );
9 голосов
/ 05 июля 2010

Самым распространенным способом, который мне известен, является макрос TRACE:

http://msdn.microsoft.com/en-us/library/4wyz8787%28VS.80%29.aspx

Например:

int x = 1;
int y = 16;
float z = 32.0;
TRACE( "This is a TRACE statement\n" );

TRACE( "The value of x is %d\n", x );

TRACE( "x = %d and y = %d\n", x, y );

TRACE( "x = %d and y = %x and z = %f\n", x, y, z );
4 голосов
/ 15 декабря 2015

Я нашел этот ответ при поиске сообщения об ошибке: https://stackoverflow.com/a/29800589

По сути, вам просто нужно поставить "L" перед вашей выходной строкой при использовании OutputDebugString:

OutputDebugString(L"test\n");

Это прекрасно сработало для меня.

Edit:

Для форматирования строк с данными я использовал

char buffer[100]; sprintf_s(buffer, "check it out: %s\n", "I can inject things"); OutputDebugStringA(buffer);

Я ни в коем случае не эксперт, я просто нашел то, что сработало и пошло дальше.

2 голосов
/ 22 августа 2017

Использование:

OutputDebugStringA("Some random text");

Или:

OutputDebugString("Some random text");
0 голосов
/ 05 июля 2010

Чтобы использовать OutputDebugString (), укажите char * или const char * в качестве параметра:

OutputDebugString("This is an output");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...