如何将ASCII代码数组转换为int C ++

时间:2015-10-10 22:53:40

标签: c++ file text ascii

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

我想读:10 20。

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

我尝试了几个东西,比如stream.get或stream.read,试图用atoi转换但是我不能连接两个数字,我试过sprintf但是所有这些都失败了。

2 个答案:

答案 0 :(得分:0)

ASCII码数组:

 char ASCII[] = "10 20";

转换为整数变量:

 std::istringstream iss(ASCII);

 int x,y;

 iss >> x >> y;

完成。

以下是工作样本:http://ideone.com/y8ZRGs

答案 1 :(得分:0)

如果您想使用自己的代码执行此操作,则只需要执行两项操作。

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

其次,您需要将两位数字的每个数字的数值转换为代表的数字。这很简单 - 如果'0'是十位且T是单位,则U

所以,例如:

10T + U