string 转 LPCTSTR
Posted jzssuanfa
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了string 转 LPCTSTR相关的知识,希望对你有一定的参考价值。
(1)在ANSI字符集下
LPCTSTR想当于LPCSTR,当中L指long。P指Point,C指Const。在程序中能够直接用char*类型的数据对LPCSTR进行赋值,用下述语句:
LPCSTR a1= "abc";
string a2 = "abcde";
a1 = a2.c_str();
(2)在Unicode字符集下
LPCTSTR相当于LPCWSTR。它相当于wchar_t。能够用下述的语句对它进行赋值
LPCWSTR a1;
wstring a2;
a1 = a2.c_str();
(3)把ANSI字符串转换成Unicode字符集,能够用例如以下函数
wstring ANSIToUnicode(string str) { int lengthW = MultiByteToWideChar(CP_ACP,0,str.c_str(),-1,NULL,NULL); wchar_t* pUnicode = new wchar_t [lengthW*sizeof(wchar_t)]; memset(pUnicode,0,lengthW*sizeof(pUnicode)); MultiByteToWideChar(CP_ACP,0,str.c_str(),-1,pUnicode,lengthW); wstring strw = pUnicode; delete[] pUnicode; return strw; }当中。主要用了MultiByteToWideChar()函数。这个函数的详细使用方法。请查相关资料。
以上是关于string 转 LPCTSTR的主要内容,如果未能解决你的问题,请参考以下文章