字符串转换为LPCTSTR

string to a LPCTSTR

本文关键字:LPCTSTR 转换 字符串      更新时间:2023-10-16

可能重复:
Windows上的C++std::字符串转换问题
如何将std::string转换为LPCSTR?

我想将窗口(WM_SETTEXT)重命名为其他窗口。在中有一个std::字符串,其中包含新窗口名称。我需要将std::字符串转换为"LPCTSTR",这是因为SendMessage需要"LPCTSTR"中的名称。

我不能让这个工作,有人能帮我把字符串转换成LPCTSTR吗?

使用std::stringc_str()方法。这将返回一个C字符串,即指向以null结尾的字符数组的指针。

SendMessage(Handle, WM_SETTEXT, 0, (LPARAM)str.c_str());

如果您是为ANSI进行编译,这是可以的。如果您正在为Unicode进行编译,那么您应该使用wstring而不是string。如果是这种情况,只需更改为wstring,对SendMessage的调用就可以完全按照上面所写的那样工作。