Visual Studio的输出窗口上输出调试信息的函数

时间:2021-11-24 09:24:14

Visual Studio的输出窗口上输出文字的函数

参考网站:http://www.voidcn.com/blog/u011808175/article/p-2083567.html

当你编写非控制台程序时,比如GUI程序,像std::coutprintf()这样的函数,就无法使用了,(不是使用了,程序就编译不了,是可以通过编译的,只是你不会看到这些函数打印出的信息。)

Visual Studio给我们提供了一个“控制台” — 输出窗口。我们要使用什么函数才能将调试信息打印到输出窗口里面呢? 看看下面的方法吧

程序

#include "atlbase.h"
#include "atlstr.h" void OutputDebugPrintf(const char* strOutputString,...)
{
char strBuffer[4096]={0};
va_list vlArgs;
va_start(vlArgs,strOutputString);
_vsnprintf_s(strBuffer,sizeof(strBuffer)-1,strOutputString,vlArgs);
//vsprintf(strBuffer,strOutputString,vlArgs);
va_end(vlArgs);
OutputDebugString(CA2W(strBuffer));
} int main(){
int i = 10;
OutputDebugPrintf("I'm %d years old.\n", i);
while(1){}
return 0;
}

OutputDebugPrintf()这个函数的使用方法,和printf()函数一样。

配置

对着项目,点击鼠标右键,打开属性

Visual Studio的输出窗口上输出调试信息的函数

选择配置属性 -> 常规 。 将字符集 设置为使用Unicode字符集

Visual Studio的输出窗口上输出调试信息的函数

运行结果

Visual Studio的输出窗口上输出调试信息的函数

程序解释

#include "atlbase.h"
#include "atlstr.h"

这两个头文件是给这个CA2W()函数准备的。这个函数的功能是:将ANSI character string转化为Unicode character string的函数。


参考网站:

http://topic.okbase.net/200612/2006121309/2810980.html

http://ztbls888.blog.163.com/blog/static/171817598201272805923298/