字符十进制值

Char decimal value

是否可以获取字符的十进制值?我知道我可以使用 short(char) 但这会浪费内存,这就是我首先使用 char 的原因,我只需要 8 位数据,所以我使用 char(类似于 C# 中的 byte)。在我的程序中,当我需要打印它时,它总是显示一些与十进制值对应的奇怪字符,我希望它显示十进制值本身。那么是否有 C# 等效于 char.GetNumericValue()?

您可以使用 link 中描述的 integer 之一。

然后如果问题只是打印你可以使用std::cout这个语法

char a = 45;
cout << +a; // promotes a to a type printable as a number, regardless of type.

只要该类型提供具有普通语义的一元 + 运算符,它就可以工作。如果您正在定义一个表示数字的 class,以提供具有规范语义的一元 + 运算符,请创建一个运算符 +(),它只是 returns *this 按值或按 reference-to-const。

进一步阅读c++-faq print-char-or-ptr-as-number