C++中char*轉(zhuǎn)換為L(zhǎng)PCWSTR的解決方案
前言
大家在學(xué)習(xí)或者使用Windows編程中,經(jīng)常會(huì)碰到字符串之間的轉(zhuǎn)換,char*轉(zhuǎn)LPCWSTR也是其中一個(gè)比較常見(jiàn)的轉(zhuǎn)換。下面就列出幾種比較常用的轉(zhuǎn)換方法。大家可以根據(jù)自己的需求選擇相對(duì)應(yīng)的方法,下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
1、通過(guò)MultiByteToWideChar函數(shù)轉(zhuǎn)換
MultiByteToWideChar函數(shù)是將多字節(jié)轉(zhuǎn)換為寬字節(jié)的一個(gè)API函數(shù),它的原型如下:
int MultiByteToWideChar( UINT CodePage, // code page DWORD dwFlags, // character-type options LPCSTR lpMultiByteStr, // string to map int cbMultiByte, // number of bytes in string LPWSTR lpWideCharStr, // wide-character buffer int cchWideChar // size of buffer );
LPCWSTR實(shí)際上也是CONST WCHAR *類型
char* szStr = "測(cè)試字符串"; WCHAR wszClassName[256]; memset(wszClassName,0,sizeof(wszClassName)); MultiByteToWideChar(CP_ACP,0,szStr,strlen(szStr)+1,wszClassName, sizeof(wszClassName)/sizeof(wszClassName[0]));
2、通過(guò)T2W轉(zhuǎn)換宏
char* szStr = "測(cè)試字符串"; CString str = CString(szStr); USES_CONVERSION; LPCWSTR wszClassName = new WCHAR[str.GetLength()+1]; wcscpy((LPTSTR)wszClassName,T2W((LPTSTR)str.GetBuffer(NULL))); str.ReleaseBuffer();
3、通過(guò)A2CW轉(zhuǎn)換
char* szStr = "測(cè)試字符串"; CString str = CString(szStr); USES_CONVERSION; LPCWSTR wszClassName = A2CW(W2A(str)); str.ReleaseBuffer();
上述方法都是UniCode環(huán)境下測(cè)試的。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流。
相關(guān)文章
淺談Linux環(huán)境下并發(fā)編程中C語(yǔ)言fork()函數(shù)的使用
fork函數(shù)在Linux中可以創(chuàng)建子進(jìn)程即一個(gè)新的進(jìn)程,這里我們根據(jù)實(shí)例來(lái)淺談Linux環(huán)境下并發(fā)編程中C語(yǔ)言fork()函數(shù)的使用,需要的朋友可以參考下2016-06-06
C++?opencv圖像處理實(shí)現(xiàn)圖像腐蝕和膨脹示例
這篇文章主要為大家介紹了C++?opencv圖像處理實(shí)現(xiàn)圖像腐蝕和圖像膨脹示例代碼,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-05-05
c語(yǔ)言小游戲程序之彈跳小球的實(shí)現(xiàn)代碼
這篇文章主要介紹了c語(yǔ)言小游戲程序之彈跳小球的實(shí)現(xiàn)代碼,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
tinyxml 常用的C++ XML解析器非常優(yōu)秀
讀取和設(shè)置xml配置文件是最常用的操作,試用了幾個(gè)C++的XML解析器,個(gè)人感覺(jué)TinyXML是使用起來(lái)最舒服的,因?yàn)樗腁PI接口和Java的十分類似,面向?qū)ο笮院芎?/div> 2012-11-11
C實(shí)現(xiàn)不定長(zhǎng)數(shù)組的示例
今天小編就為大家分享一篇C實(shí)現(xiàn)不定長(zhǎng)數(shù)組的示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07最新評(píng)論

