gpt4 book ai didi

c++ - 如何使用 g++ 打印出≠到终端?

转载 作者:行者123 更新时间:2023-11-28 04:26:11 27 4
gpt4 key购买 nike

我想在终端打印。我试过了

cout << '\u2248' << endl;
cout << '\U00002248' << endl;
cout << '≠' << endl;

给出

14846344
14846344
14846368

我尝试用双引号替换单引号

Ôëê
Ôëê
Ôëá

如何实现?我很好奇我得到的输出的解释是什么?我正在运行 Netbeans 9,但也直接从命令行使用 g++ 进行了测试。我认为这应该是可能的,因为 echo ≠ 在 Windows 命令提示符下产生了正确的输出。

最佳答案

因此,在 C++ 中,就像在纯 C 中一样,默认情况下我们只能使用 ASCII 字符。Char 变量仅包含 8 位(1 字节)来存储值,因此最多 - 2^8=256 个不同的符号可以由一个 char 变量编码。单引号(如 'a')存储 char 变量,因此它们内部只能放置 ASCII 字符。您的字符不是 ASCII 表的一部分,我们需要更改编码。

如果只是打印(而不是存储/处理)您的角色,您应该使用另一种编码,例如 UTF-8。您可以通过编程方式执行此操作:

std::setlocale(LC_ALL, /*some system-specific locale name, probably */ "en_US.UTF-8");
std::cout << "\u2260" << std::endl;

或者通过 g++ 的命令行选项(例如 -finput-charset=UTF-16)。如您所见,我使用双引号将非 ASCII 符号打印到控制台。

关于c++ - 如何使用 g++ 打印出≠到终端?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54254599/

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