Visual Studio的輸出窗口上輸出文字的函數
參考網站:http://www.voidcn.com/blog/u011808175/article/p-2083567.html
當你編寫非控制台程序時,比如GUI程序,像std::cout 和 printf()這樣的函數,就無法使用了,(不是使用了,程序就編譯不了,是可以通過編譯的,只是你不會看到這些函數打印出的信息。)
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/