C++ Win32api 从用户输入输出 Unicode
C++ Win32api output Unicode from user's input
我意识到可能会有类似的问题,但我现在真的卡住了一段时间。我正在使用 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 字符打印在文本框中。
您需要将字符串 L"0470"
转换为数字。这是一个以 16 为基数的数字,因此您可以使用 <cwchar>
中的 std::wcstoul
。然后您可以将此数字转换为 WCHAR。我假设您知道如何将单个字符转换为字符串。
我意识到可能会有类似的问题,但我现在真的卡住了一段时间。我正在使用 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 字符打印在文本框中。
您需要将字符串 L"0470"
转换为数字。这是一个以 16 为基数的数字,因此您可以使用 <cwchar>
中的 std::wcstoul
。然后您可以将此数字转换为 WCHAR。我假设您知道如何将单个字符转换为字符串。