如何将ASCII码数组转换为整型

How to convert an array of ASCII codes to int C++

本文关键字:转换 整型 数组 ASCII      更新时间:2023-10-16

首先,我想从纯文本中阅读,我读了数百个关于它的网页,我就是做不到。我想读取文件的每一个字节每两个字节是一个我想要存储的数字。

我想读:10 20.

我得到:ASCII码为1,ASCII码为0,ASCII码为空格等等。

我尝试了一些东西,比如流。Get或stream。阅读,试图转换与atoi,但后来我不能连接两个数字,我试过sprintf,但他们都失败了。

ASCII码数组:

 char ASCII[] = "10 20";

转换为整数变量:

 std::istringstream iss(ASCII);
 int x,y;
 iss >> x >> y;

下面是工作示例:http://ideone.com/y8ZRGs

如果您想在自己的代码中做到这一点,您只需要能够做到两件事。

首先,需要将数字的ASCII码转换为它所表示的数字。这就像减去'0'一样简单。

其次,您需要将两位数的每一位的数值转换为所表示的数字。这很简单——如果T是十位,U是单位,那就是10T + U

例如:

int twoDigitNumber (char tens, char units)
{
    return 10 * (tens - '0') + (units - '0');
}