亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

C語言 OutputDebugString與格式化輸出函數OutputDebugPrintf案例詳解

 更新時間:2021年08月20日 14:37:32   作者:EmbededCoder  
這篇文章主要介紹了C語言 OutputDebugString與格式化輸出函數OutputDebugPrintf案例詳解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下

OutputDebugString屬于windows API的,所以只要是包含了window.h這個頭文件后就可以使用了??梢园颜{試信息輸出到編譯器的輸出窗口,還可以用DbgView(本機或TCP遠程)這樣的工具查看,這樣就可以脫離編譯器了。  

OutputDebugString 默認只能輸入一個參數,不能像printf那樣格式化輸出,下面改造成類似printf函數的輸出方式。

#include <windows.h>
#include <stdio.h>
//#include <stdlib.h>
#include <stdarg.h>
 
#define IS_USE_OUTPUT_DEBUG_PRINT   1
 
#if  IS_USE_OUTPUT_DEBUG_PRINT 
 
#define  OUTPUT_DEBUG_PRINTF(str)  OutputDebugPrintf(str)
void OutputDebugPrintf(const char * strOutputString, ...)
{
#define PUT_PUT_DEBUG_BUF_LEN   1024
	char strBuffer[PUT_PUT_DEBUG_BUF_LEN] = { 0 };
	va_list vlArgs;
	va_start(vlArgs, strOutputString);
	_vsnprintf_s (strBuffer, sizeof(strBuffer) - 1, strOutputString, vlArgs);  //_vsnprintf_s  _vsnprintf
	//vsprintf(strBuffer,strOutputString,vlArgs);
	va_end(vlArgs);
	OutputDebugStringA(strBuffer);  //OutputDebugString    // OutputDebugStringW
 
}
#else 
#define  OUTPUT_DEBUG_PRINTF(str) 
#endif

 使用實例:

OutputDebugPrintf("DEBUG_INFO | %d %s",600019,"hello");

然后在 DbgView 設置一個過濾:DEBUG_INFO,抓取固定的輸出。

Unicode模式下,OutputDebugString要求一個 wchar_t 而不是char,而sprintf則需要char參數,那我們是不是一定要通過字符轉換解決問題呢?

答案就是 OutputDebugStringA()

原因:Unicode模式,OutputDebugString會變成OutputDebugStringW。如果想用ANSI版本的,直接寫OutputDebugStringA,或者設置工程屬性,使用MBCS的編碼集。

處理“error C2220: warning treated as error - no object file generated”錯誤"

產生原因為:有些Project編譯選項中,Treat Warnings As Errors(把警告看作錯誤來處理)選項開啟了。

只要把此選項關閉,就可以正常編譯了。

在Solution中,選擇工程,右鍵菜單中選擇“Properties”。彈出的屬性框中,將Configuration選擇“All Configurations”,選擇“C/C++/General/”,右側Treat Warnings As Errors值從原來的“Yes(/WX)”改為“No(/WX-)”。

點擊確定,再重新編譯,即可。

怎樣處理“error C2220: warning trea...”錯誤

到此這篇關于C語言 OutputDebugString與格式化輸出函數OutputDebugPrintf案例詳解的文章就介紹到這了,更多相關C語言 OutputDebugString與格式化輸出函數OutputDebugPrintf內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 在C++中如何阻止類被繼承詳解

    在C++中如何阻止類被繼承詳解

    這篇文章主要介紹了在C++中如何阻止類被繼承,對于C++初學者而言可以通過本文實例更好的理解類的原理及運用,需要的朋友可以參考下
    2021-09-09
  • C語言開發(fā)簡易版掃雷小游戲

    C語言開發(fā)簡易版掃雷小游戲

    本文給大家分享的是一個使用C語言開發(fā)的命令行下的簡易版掃雷小游戲,本身沒有什么太多的技術含量,只不過是筆者的處女作,所以還是推薦給大家,希望對大家學習C能夠有所幫助。
    2015-12-12
  • STL中的string你了解嗎

    STL中的string你了解嗎

    這篇文章主要為大家詳細介紹了STL中的string,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-03-03
  • C語言入門之查找子串問題

    C語言入門之查找子串問題

    這篇文章主要介紹了C語言入門之查找子串問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • C語言打印楊輝三角示例匯總

    C語言打印楊輝三角示例匯總

    本文給大家匯總了2種使用C語言實現楊輝三角的方法,不過還是給大家推薦第一種,希望大家能夠喜歡。
    2016-02-02
  • 解決codeblocks斷點不停無效的問題

    解決codeblocks斷點不停無效的問題

    今天小編就為大家分享一篇解決codeblocks斷點不停無效的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • C語言編寫簡單的定時關機程序

    C語言編寫簡單的定時關機程序

    本文給大家分享的是一則C語言編寫的簡單的定時關機程序,可以設置0-600秒倒計時,有需要的小伙伴可以參考下。
    2016-02-02
  • 原創(chuàng)的C語言控制臺小游戲

    原創(chuàng)的C語言控制臺小游戲

    本文給大家分享的是個人原創(chuàng)設計的一個C語言控制臺小游戲,非常的簡單,但是挺好玩的,推薦給大家,有需要的小伙伴也可以自由擴展下。
    2015-03-03
  • c語言++放在前面和后面的區(qū)別分析

    c語言++放在前面和后面的區(qū)別分析

    在C語言中,前綴自增(++i)和后綴自增(i++)操作符并不是同一個操作符,前綴自增操作符的優(yōu)先級高于后綴自增,同時得到的結果并不完全一致,因此需要區(qū)分
    2015-11-11
  • 12個C語言必背實例分享

    12個C語言必背實例分享

    這篇文章主要和大家介紹12個C語言中必背的實例,文中的示例代碼講解詳細,對我們了解和掌握C語言有一定的幫助,感興趣的小伙伴快跟隨小編一起了解一下
    2022-11-11

最新評論