雷火电竞-中国电竞赛事及体育赛事平台

歡迎來(lái)到入門(mén)教程網(wǎng)!

C語(yǔ)言

當(dāng)前位置:主頁(yè) > 軟件編程 > C語(yǔ)言 >

C++中char*轉(zhuǎn)換為L(zhǎng)PCWSTR的解決方案

來(lái)源:本站原創(chuàng)|時(shí)間:2020-01-10|欄目:C語(yǔ)言|點(diǎn)擊:

前言

大家在學(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 *類(lèi)型

  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)大家可以留言交流。

上一篇:C++ operator關(guān)鍵字(重載操作符)的用法詳解

欄    目:C語(yǔ)言

下一篇:探討C++中不能聲明為虛函數(shù)的有哪些函數(shù)

本文標(biāo)題:C++中char*轉(zhuǎn)換為L(zhǎng)PCWSTR的解決方案

本文地址:http://www.jygsgssxh.com/a1/Cyuyan/1851.html

網(wǎng)頁(yè)制作CMS教程網(wǎng)絡(luò)編程軟件編程腳本語(yǔ)言數(shù)據(jù)庫(kù)服務(wù)器

如果侵犯了您的權(quán)利,請(qǐng)與我們聯(lián)系,我們將在24小時(shí)內(nèi)進(jìn)行處理、任何非本站因素導(dǎo)致的法律后果,本站均不負(fù)任何責(zé)任。

聯(lián)系QQ:835971066 | 郵箱:835971066#qq.com(#換成@)

Copyright © 2002-2020 腳本教程網(wǎng) 版權(quán)所有