码迷,mamicode.com
首页 > 其他好文 > 详细

string 转 LPCTSTR

时间:2015-07-19 23:43:01      阅读:148      评论:0      收藏:0      [点我收藏+]

标签: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

标签:string   lpctstr   

原文地址:http://blog.csdn.net/d14665/article/details/46958477

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!