国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
“const char*”類(lèi)型的實(shí)參與LPCTSTR類(lèi)型的形參不兼容
1、LPCTSTR是什么?
A  32-bit pointer to a contant character stirng that is portable forUnicode and DBCS(double-byte character sets)
LPCTSTR就是一個(gè)32-bit指針指向一個(gè)常字符串,每字符可能占1字節(jié)或2字節(jié),取決于Unicode是否定義



LPCTSTR是一個(gè)windows API數(shù)據(jù)類(lèi)型。根據(jù)windows API數(shù)據(jù)類(lèi)型的命名規(guī)律:
1)L——long 指針,是為了兼容Window3.1等16位扣件系統(tǒng)遺留下來(lái)的,
在Win32中以及其他的32的扣件系統(tǒng)中,long 指針和near 指針及far 修飾符都是為了兼容的作用,而沒(méi)有實(shí)際意義。
2)P表示該變量是一個(gè)指針,C表示是常量(const),STR表示的是字符串。因此LPCSTR是一個(gè)const char*類(lèi)型。
這是一個(gè)windows(ANSI)字符串常量,它是多字節(jié)編碼的。
3)LPCWSTR:而W表示的是寬字符,因此LPCWSTR表示的也是字符串常量,不過(guò)是Unicode編碼的。





注:
1)LPCTSTR:根據(jù)環(huán)境配置,如果定義了UNICODE宏,則是LPCWSTR類(lèi)型,否則是LPCSTR類(lèi)型。
2)這里的Unicode是Wondows的一種字符集
Windows使用兩種字符集ANSI和UNICODE,
ANSI就是通常使用的單字節(jié)方式,但這種方式處理象中文這樣的雙字節(jié)字符不方便,
容易出現(xiàn)半個(gè)漢字的情況。UNICODE是雙字節(jié)方式,方便處理雙字節(jié)字符。
2、問(wèn)題的解決
通常我們手動(dòng)輸入的字符串都是const char*(即LPCSTR)類(lèi)型的,若出現(xiàn)不兼容
可以對(duì)輸入的參數(shù)用使用“_T”宏:
例如:
MessageBox("Help,Somethig went wong.","Error",MB_ICONERROR|MB_OK);
在第一個(gè)和第二個(gè)參數(shù)的地方,程序會(huì)報(bào)錯(cuò):"const char *"類(lèi)型的實(shí)參與"LPCWSTR"類(lèi)型的形參不兼容
這是第一個(gè)和第二個(gè)參數(shù)都是我們手動(dòng)輸入的字符串,都為const char * 類(lèi)型的,而以上的兩個(gè)參數(shù)均為LPCTSTR類(lèi)型。

MessageBox這個(gè)函數(shù),它與LPCTSTR類(lèi)似,當(dāng)工程采取不同編碼方式的時(shí)候,對(duì)應(yīng)的實(shí)際函數(shù)不同。
當(dāng)采取Unicode編碼時(shí),實(shí)際調(diào)用的是MessageBoxW,該函數(shù)接受的參數(shù)是LPCWSTR;
當(dāng)采取的是多字節(jié)編碼時(shí),實(shí)際調(diào)用的是MessageBoxA,該函數(shù)接受的參數(shù)是LPCSTR。

解決方法是對(duì)第一個(gè)和第二個(gè)參數(shù)使用“_T”宏:
MessageBox(_T("Help,Something went wrong"),_T("Error"),MB_OK);



_T("")是一個(gè)宏,他的作用是讓你的程序支持Unicode編碼.
---------
不過(guò)我用_T 會(huì)有未定義的標(biāo)識(shí)符的錯(cuò)誤提示,最后的通過(guò)設(shè)置編碼類(lèi)型解決的。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
LPWSTR,LPCTSTR,LPTSTR
IntelliSense: "const char *" 類(lèi)型的實(shí)參與 "LPCTSTR" 類(lèi)型的形參不兼容 (vs2010)(轉(zhuǎn))
IntelliSense:“constchar*”類(lèi)型的實(shí)參與"LPCTSTR"類(lèi)型的形參不兼容
Windows字符串類(lèi)型 CHAR* WCHAR* LPSTR LPCSTR
ANSI與Unicode編碼,TCHAR | LPSTR | LPCSTR | LPWSTR | LPCWSTR | LPTSTR | LPCTSTR 的含義
帶你玩轉(zhuǎn)Visual Studio——帶你理解多字節(jié)編碼與Unicode碼
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服