将 (const) char * 转换为 LPCWSTR

Cast (const) char * to LPCWSTR(将 (const) char * 转换为 LPCWSTR)

本文介绍了将 (const) char * 转换为 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;

这篇关于将 (const) char * 转换为 LPCWSTR的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本文标题为:将 (const) char * 转换为 LPCWSTR