c++ int to char

c++ int to char

本文关键字:char to int c++      更新时间:2023-10-16

我有一个整数列表 i ([0,255]),我想将这些整数转换为字符。

int i;
char c = (char)i;

当我打印 c 时(当 i=0 时),我没有得到相应的 ascii 符号。如何正确进行映射?

ASCII 0 没有符号。 所有小于 32 的 ASCII 值都是控制字符。

您正在将 ASCII 值与 int 值混合...看看 ASCII 表,你就会明白。要打印"0",您需要打印值 48(十进制)。要打印从 0 到 9 的值,您只需在 int 值上加 48,您将获得正确的 ASCII 代码。要打印比一位多以上的值,您需要从一个整数到几个 ASCII 代码的某种转换。谷歌搜索应该找到这样的功能。

我不相信值 0 有一个有意义的 ASCII 符号。这是一个空字符,不应打印任何内容。例如,为什么不尝试在i = 97('a')时打印一个值呢?

如果您检查 ASCII 表,您会发现并非每个 ASCII 字符都具有有意义的打印值。