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

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.
", i);
    while(1){}
    return 0;
}

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

配置

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

这里写图片描述

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

这里写图片描述

运行结果

这里写图片描述

程序解释

#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/

原文地址:https://www.cnblogs.com/aobosir/p/5928658.html