当前位置:数据分析 > vs2010中如何打印变量的值_如何查看vs2010c语言调试结果,在vs2010下调试程序时,将信息打印到输出窗口...

vs2010中如何打印变量的值_如何查看vs2010c语言调试结果,在vs2010下调试程序时,将信息打印到输出窗口...

  • 发布:2023-10-09 18:50

在VS2010/MFC中,很明显MessageBox()的用法和VC6.0中是一样的。

今天使用MessageBox()函数时,使用VC6.0的方法好像不行,

经过各种尝试,找到了一种比较简单的变量显示方式,分享给大家。

//VS/MFC中MessageBox的用法//(1),弹出编号CString msg; msg.Format(_T("页数:%d\n"), nPageCount);消息框(msg); //(2)、弹出字符串CString str; str.SetString(_T("asdfasdf"));消息框(str);

Format 函数不能直接用来转换字符串然后在 VS2010 中显示,

项目中默认字符集是UNICODE,使用_T转换

char a[128] = "这是一个字符串";

str.Format(_T("%s"),a);

不会提示错误,但字符串不会转换为UNICODE或ASCII

显示会异常。

问题描述:我们平时使用vs2010调试程序时,有时想将一些变量或者信息打印到输出窗口中,以便观察程序的运行结果。我们还可以很容易地知道程序运行的参数是否正确。当然,我们也可以写文件。方法,但是写文件太麻烦。这里有两种将调试信息打印到输出窗口的方法。

方法一:编写一个可变参数函数,将想要打印到输出窗口的信息传递给函数,在函数内部调用系统函数OutputDebugString(),将调试信息打印到输出窗口。

void OutputDebugPrintf(const char* strOutputString,...)

{

char strBuffer[4096] = {0};

va_list vlArgs;

va_start(vlArgs, strOutputString);

_vsnprintf_s(strBuffer, sizeof(strBuffer) - 1, strOutputString, vlArgs);

va_end(vlArgs);

输出调试字符串(CA2W(strBuffer));

}

方法二:调用系统自带的库函数TRACE()。这个函数其实和printf()类似,只不过printf()将信息输出到控制台窗口,而TRACE()函数则输出到vs2010的输出窗口,以方便程序员调试。

TRACE("%s", "没有错误,没有警告");

TRACE(“%d”, 1024);

TRACE(“%d”, 520.1314);

TRACE("%c", 'U');

参考:

http://www.sychzs.cn/weolar/article/details/48022921

VisualGDB属性--》Makefile设置-->CFLAGS:添加:-gdwarf-2

相关文章