首页 > 代码库 > string类型转LPCTSTR
string类型转LPCTSTR
今天在写MFC的时候,发现MessageBox函数的类型是LPCTSTR,而我使用C++ STL的string类型却无法直接转,所以在网上找到一段函数,用于转化
std::wstring StoWs(const std::string& s){ int len; int slength = (int)s.length() + 1; len = MultiByteToWideChar(CP_ACP, 0, s.c_str(), slength, 0, 0); wchar_t* buf = new wchar_t[len]; MultiByteToWideChar(CP_ACP, 0, s.c_str(), slength, buf, len); std::wstring r(buf); delete[] buf; return r;}std::string s;如果是 UNICODE 字符的话:std::wstring stemp = StoWs(s); LPCWSTR result = stemp.c_str();如果不是:LPCWSTR result = s.c_str();
另附上一段对应类型表
LPSTR - (long) pointer to string - char *LPCSTR - (long) pointer to constant string - const char *LPWSTR - (long) pointer to Unicode (wide) string - wchar_t *LPCWSTR - (long) pointer to constant Unicode (wide) string - const wchar_t *LPTSTR - (long) pointer to TCHAR (Unicode if UNICODE is defined, ANSI if not) string - TCHAR *LPCTSTR - (long) pointer to constant TCHAR string - const TCHAR *
string类型转LPCTSTR
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。