C++多字节->UNICODE类型转换

UNICODE字符集

在进行多字节项目转UNICODE过程中经常忘记类型转换,故在此记录方便查找

CString转string

CString c_str;
std::string str;
str = (string)(CStringA)c_str;

string转CString

CString c_str;
std::string str;
c_str= (CString)str.c_str();

string转LPCTSTR

string str;
LPCTSTR lpctstr;
lpctstr = (CString)str.data();

char* 转LPCWSTR

char* str;
LPCWSTR lpcwstr;
lpwtstr = (CString)str;

CString转const char*

CString c_str;
const char* con_ch;
con_ch = (CStringA)c_str;

LPCTSTR转const char*

LPCTSTR lpct;
const char* con_ch;
con_ch = (CStringA)c_str;

char *转LPCWSTR

char* ch;
LPCWSTR lpcw;
lpcw= (CString)ch;

char *转LPTSTR

char* ch;
LPTSTR lpt;
lpt= (LPTSTR)ch;

const char *转LPWSTR

 LPWSTR ConvertCharToLPWSTR(const char * szString)
 {
	 int dwLen = strlen(szString) + 1;
	 int nwLen = MultiByteToWideChar(CP_ACP, 0, szString, dwLen, NULL, 0);//算出合适的长度
	 LPWSTR lpszPath = new WCHAR[dwLen];
	 MultiByteToWideChar(CP_ACP, 0, szString, dwLen, lpszPath, nwLen);
	 return lpszPath;
 }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值