将 (const) char * 转换为 LPCWSTR

2022-01-12 00:00:00 char winapi c++ wchar-t lpcwstr

我正在尝试使用 WinAPI 中的 FindWindow(),我想向用户询问窗口标题的输入:

I'm trying to use FindWindow() from WinAPI, and I want to ask an input for window's title from the user:

char *input;
cout << "Window title: ";
cin >> input;

相当标准.那么,如何将其转换为 LPCWSTR for FindWindow()?

Pretty standard. Now then, how do I convert this to LPCWSTR for FindWindow()?

我已经尝试过以下方法:_T(input), TEXT(input), (LPCWSTR)input 但没有一个工作.我也尝试使用 wchar_t 而不是 char,但我在其他任何地方都需要 char,所以使用 wchar_t 而不是 char...

I've already tried the following: _T(input), TEXT(input), (LPCWSTR)input but none of them worked. I also tried using wchar_t instead of char, but I need char everywhere else so then I get dozens of errors for using wchar_t instead of char...

推荐答案

您可以使用 cin 和 cout 的广泛变体:

You can use the wide variants of cin and cout:

wchar_t input[256];    // don't really use a fixed size buffer!
wcout << L"Window title: ";
wcin >> input;

相关文章