字符串到LPCTSTR

时间:2012-03-25 18:14:33

标签: c++ windows string

  

可能重复:
  C++ std::string conversion problem on Windows
  How to convert std::string to LPCSTR?

我想将窗口(WM_SETTEXT)重命名为其他内容。在一个包含新窗口名称的std :: string中。我需要将std :: string转换为“LPCTSTR”,这是因为SendMessage需要“LPCTSTR”中的名称。

我无法让这个工作,有人可以帮我将字符串转换为LPCTSTR吗?

1 个答案:

答案 0 :(得分:7)

使用c_str()的{​​{1}}方法。这将返回一个C字符串,即一个指向以null结尾的字符数组的指针。

std::string

如果要编译ANSI,这很好。如果您正在编译Unicode,那么您应该使用SendMessage(Handle, WM_SETTEXT, 0, (LPARAM)str.c_str()); 而不是wstring。如果是这种情况,只需更改为string,并且对wstring的调用与上面所述完全相同。