gpt4 book ai didi

c++ - 如何在char变量中存储特殊的Unicode字符(C++)

转载 作者:行者123 更新时间:2023-12-02 10:34:05 24 4
gpt4 key购买 nike

我正在编写一个c++程序,其中需要将特殊ASCII字符(例如:-'①','╳','▲'等)的值存储在诸如以下的字符变量中:

#include <iostream>
using namespace std;

int main(void)
{
char a = '①';//here...
cout << a;

return 0;
}

...并且抛出错误说
warning: multi-character character constant [-Wmultichar]


warning: overflow in implicit constant conversion [-Woverflow]

有没有办法做到这一点?

最佳答案

您必须使用宽字符数据类型,因为它可以存储wchar_t表示的C++中的ASCII字符和非ASCII字符。

#include<iostream>
using namespace std;

int main()
{
wchar_t a = L'😊';
wcout << a;
return 0;
}

如上所示,笑脸字符存储在 a中。由于它涉及宽字符,要显示到控制台,我必须使用 std::wcout。同样, std::wcinstd::cin的宽字符替代,而 std::wstringstd::string的宽字符替代。
L前缀用于表示宽字符和宽字符串。在这里,它用来告诉编译器😊是宽字符。

关于c++ - 如何在char变量中存储特殊的Unicode字符(C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61096495/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com