自己實現的Win32程式中的printf

2021-09-30 10:45:07 字數 1200 閱讀 6244

c語言console模式中有printf函式非常方便, 但在win32程式中的輸出就有點麻煩了,用messagebox,afxmessagebox這些函式輸出都不好,總是要點確定,我們可以用outputdebugstring函式輸出到調式器中,如db**iew.再結合一些字串的函式就可以當printf使用了,但還是不夠方便.如使用時還得申請空間.於是就自己寫了個printf

要使用的巨集:

va_list: 宣告乙個可變引數集

va_arg( va_listarg_ptr,type);//從arg_ptr中取得乙個型別為type的資料

void va_end( va_listarg_ptr);//結束

void va_start( va_listarg_ptr,prev_param);//開始解析arg_ptr

debug.**件中:

cpp**  

#ifndef _mydebug_

#define _mydebug_

#include "windows.h"

#include "stdio.h"

#include 

#include 

class cmydebug  

else

if(c1=='d')//數字

else

if(c1=='s')//字串

else

}  else

c=*(str+k);  

}  va_end(var);  

buf[i]=0;  

outputdebugstring((char*)buf);  

}  };  

#endif

debug.cpp檔案中

cpp**  

#include "debug.h"

char cmydebug::buf=;  

使用:cpp**  

cmydebug::print("ddaaa=%c,str=%s\n",'t',"**sdfsfsdfsdfasf");  

這個函式只能包含%c,%d,%s,還不完善,到用到時再寫吧,還應該有其他更簡單的方法可以實現.

win32程式的變形視窗的實現

1.在wndclass當中的lpszmenuname一定要為空,因為不能有選單欄 2.hbrbackground要以為背景 3.建立視窗時,要使用createwindowex第乙個引數是ws ex topmost 4.在視窗訊息的處理過程當中,一定要攔截wm create訊息,然後設定分層屬性 5....

Win32程式的建立流程

以前一直沒有認真學習過win32應用程式。現在進行簡單學習。先理解下win32程式的建立過程 主要分為4步 註冊視窗類別 建立視窗 訊息迴圈 編寫訊息處理函式 先看看入口函式 int winapi winmain hinstance hinstance,執行實體控制代碼,往往在其他windows函式...

Win32中的listbox學習

列表框樣式 visual studio 2013 其他版本 當列表框不包含足夠的項滾動時,lbs disablenoscroll列表框顯示乙個禁用的垂直滾動條。若無此樣式,當列表框不包含足夠的項時,滾動條將隱藏。使用 shift 鍵和滑鼠或特定組合鍵lbs extendedsel,使用者可以選擇多個...