字符串到int的第n个字符

nth character of string to int

本文关键字:字符 的第 int 字符串      更新时间:2023-10-16

如何将字符串的第n个字符转换为数字?我有一个用字符串表示的长数字,我想把它做成一个数组,其中每个字符都是单独的数字。我尝试了以下代码:

#include <iostream>
#include <string>
#include <sstream>
using namespace std;
int main()
{
    string str ="73167176531330624919225119674426574742355349194934969835203127745063262395783180169848018";
    int ints[1000] = {0};
    for (int i = 0; i < str.size(); i++)
    {
        istringstream ss(str[i]);
        ss >> ints[i];
    }
    cout << ints[9] << endl;
    return 0;
}

但它不起作用。

怎么样:

for (int i = 0; i < str.size(); i++)
    if (isdigit(str[i]))
        ints[i] = str[i] - '0';

或者:

for (string::const_iterator it = str.begin();
     it != str.end(); it++)
         if (isdigit(*it))
             ints[i] = *it - '0';

试试这个:

char a[2];
a[1] = '';
for (size_t i = 0; i < str.size(); i++) {
    a[0] = str[i];
    ints[i] = atoi(a);
}