C++ 如何将字符串的特定元素转换为int-Arduino/C++;

C++ 如何将字符串的特定元素转换为int-Arduino/C++;,c++,string,arduino,type-conversion,integer,C++,String,Arduino,Type Conversion,Integer,我正在使用Arduino/C进行一个转换器项目。在我的代码中的某个点,生成了一个0和1的字符串序列,例如: my_string=“01101”。我想在一个for循环中处理这些数据,如下面的示例所示: 字符串x=“01011”,y=“00011”//这些变量必须具有相同的长度 对于(int i=5;i>-1;i--)//从最后一个索引到第一个索引 { bitsum=x[i].toInt()+y[i].toInt();//对每对位求和,问题出在这里 } 我的观点是:有没有一种方法可以将字符串的一个

我正在使用Arduino/C进行一个转换器项目。在我的代码中的某个点,生成了一个0和1的
字符串
序列,例如:
my_string=“01101”。我想在一个for循环中处理这些数据,如下面的示例所示:

字符串x=“01011”,y=“00011”//这些变量必须具有相同的长度
对于(int i=5;i>-1;i--)//从最后一个索引到第一个索引
{
bitsum=x[i].toInt()+y[i].toInt();//对每对位求和,问题出在这里
}
我的观点是:有没有一种方法可以将
字符串的一个精确而具体的元素
逐个转换为
int


提前谢谢

如果您确定
my_string
的字符始终是数字,那么获取
char
数字值的典型方法就是减去
'0'
。这是因为数字的ASCII值是按顺序排列的,所以通过减去
'0'
,您将从实际的0值中减去它们的偏移量(48)

该方法可用于获取给定索引处的字符

bitsum = x.charAt(i) - '0' + y.charAt(i) - '0';

如果您确信
my_string
的字符始终是数字,那么获取
char
数字值的典型方法就是减去
'0'
。这是因为数字的ASCII值是按顺序排列的,所以通过减去
'0'
,您将从实际的0值中减去它们的偏移量(48)

该方法可用于获取给定索引处的字符

bitsum = x.charAt(i) - '0' + y.charAt(i) - '0';

ARDUNO通常用C++编程,使用<代码>字符串类意味着你也在做。很抱歉。我不知道我是否理解你所说的弦。请您解释一下,他只是在推断您不是在谈论C,因为您的代码使用了ARDUNO(即C++)代码>字符串< /Cord>对象。ARDUINO通常是用C++编程,而使用<代码>字符串< /代码>类意味着您也在做。我不知道我是否理解你所说的弦。请你解释一下好吗?他只是简单地推断出你不是在说C,因为你的代码使用了Arduino(即C++)
String
对象。