C++ Win32api 从用户输入输出 Unicode
Posted
技术标签:
【中文标题】C++ Win32api 从用户输入输出 Unicode【英文标题】:C++ Win32api output Unicode from user's input 【发布时间】:2020-10-06 07:39:33 【问题描述】:我意识到可能会有类似的问题,但我现在真的被困了一段时间。我正在使用 C++ 和 Win32 API 在 Windows 10 上运行。
我需要读取十六进制代码的用户文本框,例如 Ѱ
或 U+0470
,尽管不会出现“U+”。收到这个值后,我需要取代码并打印相应的符号。
使用下面的代码,我可以打印任何 Unicode 符号:
createWindow(L"Static", L"\u2230", WS_VISIBLE | WS_CHILD, 10,10, 190,40, hWnd, NULL,NULL,NULL);
我还可以使用GetWindowText()
阅读文本框。但是,我不知道如何获取用户的输入 0470
并将其打印为文本框中的 Unicode 字符。
【问题讨论】:
I can not figure out how to the user's input 0470
你打算使用哪个 api 来接受用户输入?
为了记录和澄清,我使用的是win32api,并且我已经熟悉打印基本文本。我只是需要一种方法将十六进制转换为适当的 Unicode 和打印格式。
【参考方案1】:
您需要将字符串L"0470"
转换为数字。这是一个基数为 16 的数字,因此您可以使用来自 <cwchar>
的 std::wcstoul
。然后,您可以将此数字转换为 WCHAR。我假设您知道如何将单个字符转换为字符串。
【讨论】:
非常感谢!事实证明 wcstoul 正是我所缺少的。 那么听起来你应该接受答案;)以上是关于C++ Win32api 从用户输入输出 Unicode的主要内容,如果未能解决你的问题,请参考以下文章