Windows SDK程序的输出文字和格式控制(wsprintf、swprintf、Textout)
生活随笔
收集整理的這篇文章主要介紹了
Windows SDK程序的输出文字和格式控制(wsprintf、swprintf、Textout)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
程序的輸出如上圖;
輸出相關的代碼如下;
TCHAR szBuffer [40] ; TCHAR szHello[] = TEXT("Hello, C-Free!"); int iLength ;TextOut (hdc, 200, 20, "Hello, C-Free!", 14) ; TextOut (hdc, 200, 40, szHello, 14) ;iLength = wsprintf (szBuffer, TEXT ("The sum of %i and %i is %i"),7, 8, 7 + 8) ; TextOut (hdc, 200, 60, szBuffer, iLength) ;float x = 1.2345f; iLength = wsprintf(szBuffer, TEXT ("%f"), x ); TextOut (hdc, 200, 80, szBuffer, iLength) ;char c1="a"; iLength = wsprintf(szBuffer, TEXT ("c1 is %c"), c1 ); TextOut (hdc, 200, 100, szBuffer, iLength) ;TCHAR c2="b"; iLength = wsprintf(szBuffer, TEXT ("c1 is %c"), c2 ); TextOut (hdc, 200, 120, szBuffer, iLength) ;iLength = swprintf( szBuffer, 512, TEXT("x = %f"), x ); TextOut (hdc, 200, 140, szBuffer, iLength) ;首先是輸出字符串;
然后輸出整型;
wsprintf不支持浮點,會直接輸出字符f;
單個字符大概不能格式化到字符數組中輸出;
swprintf支持浮點;
最后一次的輸出,對swprintf的調用存在一點問題,啥也沒輸出;
char是C語言標準數據類型,字符型,至于由幾個字節組成通常由編譯器決定,一般一個字節。Windows為了消除各編譯器的差別,重新定義了一些數據類型。
CHAR為單字節字符。還有個WCHAR為Unicode字符,即不論中英文,每個字有兩個字節組成。如果當前編譯方式為ANSI(默認)方式,TCHAR等價于CHAR,如果為Unicode方式,TCHAR等價于WCHAR。LPCSTR 相當于CONST CHAR * 和LPSTR 相當于CHAR *。
總結
以上是生活随笔為你收集整理的Windows SDK程序的输出文字和格式控制(wsprintf、swprintf、Textout)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 图解Linux命令实例
- 下一篇: ArcGIS License Manag