C++ 如何将字符串数字转换为单个数字的整数数组

C++ 如何将字符串数字转换为单个数字的整数数组,c++,string,C++,String,我有20位字符串,例如:12345678912345678912。 我想把它转换成整数数组[1,2,3…2] 我该怎么做? (我在sstream、atoi/stoi中不断出现错误)//示例程序 #包括 #包括 int main() { //将字符转换为int std::string str=“12345678912345678912”; 整数位数[str.size()]; 对于(size_t i=0;i创建一个新数组,并将每个数字字符转换为数字。只需从数字字符中减去'0',即可得到数字 数字字符

我有20位字符串,例如:12345678912345678912。 我想把它转换成整数数组[1,2,3…2] 我该怎么做? (我在sstream、atoi/stoi中不断出现错误)

//示例程序
#包括
#包括
int main()
{
//将字符转换为int
std::string str=“12345678912345678912”;
整数位数[str.size()];

对于(size_t i=0;i创建一个新数组,并将每个数字字符转换为数字。只需从数字字符中减去
'0'
,即可得到数字

数字字符-
'0'
=该字符的ASCII值-
'0'
=数字的ASCII值

std::矢量数字;
对于(int i=0;i
使用是到这里的方法

    #include <iostream>
    #include <cstring>
    using namespace std;

    int main() {
        string s;
        cin>>s;
        int len = s.length();
        int arr[len];

        for( int it=0; it<len; it++ ){
            // using ascii value
            arr[it] = s[it] - '0';
        }

        for(int it=0; it<len; it++){
            cout<<arr[it]<<" ";
        }

        return 0;
    }
#包括
#包括
使用名称空间std;
int main(){
字符串s;
cin>>s;
int len=s.length();
内方位角[len];

对于(int=0;it ),您需要学会使用C++标准<代码>字符串< /COD>和字符串。然后学习使用标准函数将字符转换为整数。下面是一些有用的参考文献:

上面提到的解决方案是正确的。下面是解决您问题的另一种方法

int main()
{
  string input = "123456789";
  int sum = 0;
  const char * icstring = input.c_str(); // input character string
  for(int i = 0; i < input.size(); i++)
  {    
    char scstring[2]; // single character string
    // Copy first digit to scstring
    strncpy_s(scstring, icstring, 1); 
    // Convert scstring to integer using C library function 'atoi'
    int digit = atoi(scstring); // cout << "i = " << endl;    
    sum += digit;
    icstring++; // process next character
  }
  cout << "Sum of integers : " << sum << endl;

  return 0;
}
intmain()
{
字符串输入=“123456789”;
整数和=0;
const char*icstring=input.c_str();//输入字符串
对于(int i=0;iint digit=atoi(scstring);//你真的需要转换它吗?在某种程度上,它已经是一个整数数组了。在大多数情况下,你可以将它的元素偏移
-“0”
。你能发布你到目前为止尝试过的内容吗?当然,很快就会编辑^Hi@vcp-你的代码可能是正确的,尽管海报希望将字符串转换成整数数组。Hi@HK男孩-你的代码在我看来很好,尽管海报希望将字符串转换为整数数组。
int main()
{
  string input = "123456789";
  int sum = 0;
  const char * icstring = input.c_str(); // input character string
  for(int i = 0; i < input.size(); i++)
  {    
    char scstring[2]; // single character string
    // Copy first digit to scstring
    strncpy_s(scstring, icstring, 1); 
    // Convert scstring to integer using C library function 'atoi'
    int digit = atoi(scstring); // cout << "i = " << endl;    
    sum += digit;
    icstring++; // process next character
  }
  cout << "Sum of integers : " << sum << endl;

  return 0;
}