可能重复:
C++ std::string conversion problem on Windows
How to convert std::string to LPCSTR?
我想将窗口(WM_SETTEXT)重命名为其他内容。在一个包含新窗口名称的std :: string中。我需要将std :: string转换为“LPCTSTR”,这是因为SendMessage需要“LPCTSTR”中的名称。
我无法让这个工作,有人可以帮我将字符串转换为LPCTSTR吗?
答案 0 :(得分:7)
使用c_str()
的{{1}}方法。这将返回一个C字符串,即一个指向以null结尾的字符数组的指针。
std::string
如果要编译ANSI,这很好。如果您正在编译Unicode,那么您应该使用SendMessage(Handle, WM_SETTEXT, 0, (LPARAM)str.c_str());
而不是wstring
。如果是这种情况,只需更改为string
,并且对wstring
的调用与上面所述完全相同。