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.\n", 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/


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM