一、首先VS2015中默认的字符集是Unicode,使用字符串前面加上_T()转换,其实,采样这种方式可以很好的兼容ANSI和UNICODE字符集。
二、创建一个vector容器,类型为string类型,并且把内容显示到编辑框。
vector<wstring> ivec = {_T("name"),_T("number"),_T("age")}; //定义字符串集合
vector<wstring>::iterator iter = ivec.begin(); //定义迭代器
三、开始转换,之所以要用到string转LPCTSTR,是为了把字符集显示到编辑框中。
void CMFCApplication2Dlg::OnBnClickedButtonShow()
{
LPCTSTR str = iter->c_str(); //开始转换
m_ctrlGetName.SetWindowTextW( str ); //把转换的结果显示到编辑框控件
}
四、这里用到了vector和迭代器,我是在MFC中为了要把内容显示到一张很大的表格控件里面,所以可能看上去比较复杂。
string 到 LPCTSTR的转换主要是通过字符串对象的成员函数 c_str() 来实现转换, 另需要注意Unicode字符集的兼容性。