gpt4 book ai didi

c++ - 从 C/C++ 中的数字获取 ASCII 字符

转载 作者:行者123 更新时间:2023-11-30 21:18:53 25 4
gpt4 key购买 nike

我的要求是,当我输入一个数字(比如 01 - 100)时,我应该能够获得该数字的 ASCII 代码值。

例如:01 = A,02 = B,03 = C,依此类推......,90 = Z,如果数字是 91 = AA,92 = AB,93 = AC,等等......

我从谷歌搜索等中得到的只是将 int 转换为 char,获取 ASCII 值,但这仅在使用“%c”打印时发生,但无法保存到 CHAR 或 STRING 中。

例如:

int inputNumber=5;  
char getASCIICharValue = (char)inputNumber;
printf("\n getASCIICharValue: %c \n", getASCIINumberValue);
// Above would print 'E' which is correct
printf("\n getASCIICharValue as char: %s \n", getASCIINumberValue);
// Above results in a RUN-TIME error.

打印时可以正确打印值,但将其保存到 String 或 Char 时却无法打印。

<小时/>

非常抱歉没有正确发布我的问题,可能是我无法正确提出问题,因为这是我的第一篇文章......

我正在编辑我的帖子,这可能不太清楚......

我输入的输入将是 1(或任何整数,例如 1 - 100),并且我应该能够获得该数字的十进制 ASCII 表示形式...

假设 1 是 65,目前我正在做的是,我先减去 1,然后加上 65...

例如:如果输入是 5,则为 5 - 1 + 65 =

69,代表大写字母E

同样的方式,如果输入是 15,我的输出应该是大写 O

希望这有点清楚......

最佳答案

您正在那里定义自己的字符编码。

除以十并迭代取模十以获得数字,然后使用

char to_ascii (int i) {
return 'A' + i - 1;
}

// ...

assert (to_ascii(0x01) == 'A');

char buffer [20] = {0};
for (...) {
buffer [i] = to_ascii (n);
}

printf (buffer);

你到底是怎么得到90='Z'的?

关于c++ - 从 C/C++ 中的数字获取 ASCII 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8925351/

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