-6

我想将它输出^到控制台,但我想使用 ASCII 代码而不是值本身来完成。有谁知道如何做到这一点?

4

3 回答 3

5

该符号称为插入符号。ASCII 码是0x5e十六进制的(= 十进制的 94)。

C版:

printf("%c", 0x5e);

C++ 版本:

std::cout << static_cast<char>(0x5e);

这两个都假定您在默认字符编码为插入符号分配 value 的系统上运行0x5e

为避免不得不依赖此假设,最好不要使用 ASCII 代码,而是使用'^'.

于 2012-07-15T22:07:31.473 回答
2

插入符号( ^)的十六进制值通常是 0x5e(十进制的94)。

std::cout << static_cast<char> (0x5e) << " " << (char)94 << " " << '\x5e';

我的游戏表上的输出"^ ^ ^"


我写“最常”是因为标准保证用什么整数值来表示某个字符,因此你不应该做你暗示的事情。

即使它可能会以您想要的方式工作(因为大多数现代操作系统都使用该值表示插入符号),但不建议这样做..如果它不在标准中,没有人可以保证它可以在所有平台上工作, 在所有情况下。


标准是怎么说的?

2.3/3 字符集 [lex.charset]

执行字符集和执行宽字符集分别是基本执行字符集和基本执行宽字符集的实现定义的超集。执行字符集成员的值和附加成员集是特定于语言环境的

于 2012-07-15T22:19:07.043 回答
0

根据这个页面:http ://www.ascii-code.com/

它是 ASCII 码 0x5e。

于 2012-07-15T22:07:52.513 回答