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的主要内容,如果未能解决你的问题,请参考以下文章

是否可以使用 WIN32 API 和 GDI+ (C++) 对工具提示进行样式化

Win32 API 打印不询问用户输入

如何设置win32 api c++按钮背景颜色和文本颜色?

c++ win32从键盘获取utf8字符

C++ Win32 API 控制消息

无法理解普通 c++ 与 vc++、win32 编程、mfc、win32 api、CLI 之间的关系 [关闭]