在Visual Studio 2010中将输出消息写入“输出窗口”的最简单方法是什么?

时间:2010-07-05 11:45:59

标签: c++ visual-studio-2010

我尝试了OutputDebugString功能,大部分时间我都收到错误:

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

请建议。感谢。

6 个答案:

答案 0 :(得分:24)

它只接受字符串作为参数,而不是整数。尝试像

这样的东西
sprintf(msgbuf, "My variable is %d\n", integerVariable);
OutputDebugString(msgbuf);

有关详细信息,请查看http://www.unixwiz.net/techtips/outputdebugstring.html

答案 1 :(得分:11)

出于调试目的,您可以使用_RPT macros

例如,

_RPT1( 0, "%d\n", my_int_value );

答案 2 :(得分:9)

我所知道的最常见的方式是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 );

答案 3 :(得分:4)

我在搜索错误消息时找到了这个答案:https://stackoverflow.com/a/29800589

基本上,您只需要在使用 $selectbruh = SELECT EXISTS(SELECT 1 FROM userdata WHERE user_id=2); if(select returned 1){ //Do this }else if(returned 0){ //Do this }else{ //Explode into smithereens } 时在输出字符串前放置一个“L”:

OutputDebugString

它对我很有用。

编辑:

为了使用数据格式化字符串,我最终使用

OutputDebugString(L"test\n");

我绝不是一名专家,我只是发现了一些有用的东西。

答案 4 :(得分:2)

使用:

OutputDebugStringA("Some random text");

或者:

OutputDebugString("Some random text");

答案 5 :(得分:0)

要使用OutputDebugString(),请提供char *const char *作为参数:

OutputDebugString("This is an output");