當前位置:首頁 » 編程語言 » c語言tchar

c語言tchar

發布時間: 2025-01-19 19:27:07

❶ TCHAR和char的區別

因為C++支持兩種字元串,即常規的ANSI編碼(使用""包裹)和Unicode編碼(使用L""包裹),這樣對應的就有了兩套字元串字元串處理函數,比如:strlen和wstrlen,分別用於處理兩種字元串 微軟將這兩套字元集及其操作進行了統一,通過條件編譯(通過_UNICODE和UNICODE宏)控制實際使用的字元集,這樣就有了_T("")這樣的字元串,對應的就有了_tcslen這樣的函數 為了存儲這樣的通用字元,就有了TCHAR: 當沒有定義_UNICODE宏時,TCHAR = char,_tcslen = strlen 當定義了_UNICODE宏時,TCHAR = wchar_t , _tcslen = wstrlen 當我們定義了UNICODE宏,就相當於告訴了編譯器:我准備採用UNICODE版本。這個時候,TCHAR就會搖身一變,變成了wchar_t。而未定義UNICODE宏時,TCHAR搖身一變,變成了unsigned char 。這樣就可以很好的切換寬窄字元集。 tchar可用於雙位元組字元串,使程序可以用於中日韓等國 語言文字處理、顯示。使編程方法簡化。

c語言中的windows.h 中包含的可調用的函數有哪些這些函數分別有什麼用

c語言中的windows.h
中包含的可調用的函數有
int
CDECL
MessageBoxPrintf
(TCHAR
*
szCaption,
TCHAR
*
szFormat,
...)
//TCHAR就是寬字元,你學過C++應該知道CHAR,TCHAR就是CHAR的兩倍長度,用來兼容UNICODE的,至於UNICODE和ANSI的區別,你自己去查了。CDECL這個是C語言函數的默認調用慣例,調用慣例是什麼,就是操作系統如何調用這個函數,包含了如何保存參數如何返回值等等,具體可以去查。
{
TCHAR
szBuffer
[1024]
;
va_list
pArgList
;//這里提一些必須的東西,va這個開頭的宏都是處理可變參數列表的,什麼是可變參數列表,意思就是可以變長的參數列表,這個在WINDOWS下用得非常多,比如printf的函數,裡面用類似很多%d的格式控制,也有實際輸出的內容,都是作為函數的參數,具體有多少要看實際情況,所以可變參數列表在這里就起作用了。
va_list就是申明一個可變參數列表的變數
va_start
(pArgList,
szFormat)
;//va_start用於初始化可變參數列表,具體的效果就是把szFormat這個可變參數列表的第一個參數地址賦給了pArgList

_vsntprintf
(szBuffer,
sizeof
(szBuffer)
/
sizeof
(TCHAR),

szFormat,
pArgList)
;
//這個很簡單,就是把szFormat和pArgList格式成字元串放在szBuffer里了

va_end
(pArgList)
;//把pArgList清0,這個只是為了程序的規范。
return
MessageBox
(NULL,
szBuffer,
szCaption,
0)
;
顯示一個內容為szBuffer標題為szCaption的默認對話框,只有一個確定的那種
}
int
WINAPI
WinMain
(HINSTANCE
hInstance,
HINSTANCE
hPrevInstance,

PSTR
szCmdLine,
int
iCmdShow)
{
int
cxScreen,
cyScreen
;
cxScreen
=
GetSystemMetrics
(SM_CXSCREEN)
;
cyScreen
=
GetSystemMetrics
(SM_CYSCREEN)
;//取得屏幕的寬高
MessageBoxPrintf
(TEXT
("ScrnSize"),

TEXT
("The
screen
is
%i
pixels
wide
by
%i
pixels
high."),

cxScreen,
cyScreen)
;//調用上面的那個函數,TEXT用於轉換為UNICODE
return
0
;
}

熱點內容
90歲老年人助聽器如何配置 發布:2025-07-02 00:59:16 瀏覽:815
配置ip代理伺服器加速軟體 發布:2025-07-02 00:58:32 瀏覽:693
linux鏈接庫 發布:2025-07-02 00:53:06 瀏覽:676
資料庫的劃分的 發布:2025-07-02 00:43:19 瀏覽:655
補碼源碼和 發布:2025-07-02 00:37:25 瀏覽:979
centos7mysql遠程訪問 發布:2025-07-02 00:35:58 瀏覽:712
有線認證伺服器地址錯誤 發布:2025-07-02 00:33:22 瀏覽:278
本田思域2021款買哪個配置 發布:2025-07-02 00:31:43 瀏覽:326
安卓十二系統什麼時候更新 發布:2025-07-02 00:12:28 瀏覽:347
shell腳本需要編譯鏈接 發布:2025-07-02 00:04:20 瀏覽:476