我试图将 unicode 字符转换为整数,并在 Visual Studio 中遇到错误,不确定它是错误还是我做错了什么
该项目具有 unicode 字符集,而不是多字节。
#include <windows.h>
#include <iostream>
int main()
{
constexpr int a = L'';
printf("%i\n", a);
std::cout << a << std::endl;
return 0;
}
Run Code Online (Sandbox Code Playgroud)
问题:鼠标悬停变量“a”显示其 129408 或 0x1F980 这是正确的,但当它将其打印到控制台时,我得到 55358
我创建了一个新项目并编写了相同的代码,它打印出了正确的值,但是在将同一项目从 unicode 切换到多字节并返回到 unicode 后,它产生了这个问题,不知道如何解决这个问题。