C++ 能否将内存地址中的数字从字符串转换为数组的元素?

C++ 能否将内存地址中的数字从字符串转换为数组的元素?,c++,arrays,string,C++,Arrays,String,我有一个赋值要求我找到用户定义的数字串的和,它们之间没有空格。例如,如果我有一个带有1234的字符串,那么总和将是10 有没有办法将字符串1234转换成一个包含元素{1,2,3,4}的数组,这样我就可以找到总数?字符串是一个字符数组。也就是说,您可以通过字符串进行解析,并使用atoi将每个字符转换为一个数字,甚至更简单:c your char-'0'这将获得字符的数值。在循环中,有一个sum变量,用于在每次迭代中添加结果。在代码中看起来像这样的东西 int sum = 0; for (int i

我有一个赋值要求我找到用户定义的数字串的和,它们之间没有空格。例如,如果我有一个带有1234的字符串,那么总和将是10


有没有办法将字符串1234转换成一个包含元素{1,2,3,4}的数组,这样我就可以找到总数?

字符串是一个字符数组。也就是说,您可以通过字符串进行解析,并使用atoi将每个字符转换为一个数字,甚至更简单:c your char-'0'这将获得字符的数值。在循环中,有一个sum变量,用于在每次迭代中添加结果。在代码中看起来像这样的东西

int sum = 0;
for (int i = 0; myString[i] != '\0'; ++i)
      sum += myString[i] - '0';

有!您尝试过什么?我建议您使用std::accumulate完成此任务。无需将整个内容转换为整数数组,只需将每个字符转换为整数。字符串是一个数组。字符串中的每个元素都是字符,字符都经过编码,但您可以将字符“1”转换为值1,因为您只需要基本数学和查看所使用的字符集。你可以用它来创建一个数组,或者在飞行中计算结果……当然是在周末——人们想在不做作业的情况下狂欢。我真傻。
#include<iostream>
using namespace std;
int main()
{
  string str;
  getline(cin,str);
  int sum =0;
  for(int i = 0;i<str.size();i++)
    sum += str[i]-'0';
  //do whatever you want to do with sum..
  return 0;
}