C++,字符串和整数转换问题

C++, Trouble with string and int conversion

我知道如何转换仅由整数组成或以整数开头的字符串。当字符串在开头或中间以 char 开头时,我试图转换为整数。我已经通过 for 循环尝试 运行,在尝试 stoi、stringstream、atoi 等之前检查是否 (isdigit(str[i])...None 它们真的有效。我有相同的即使没有 for 循环也有问题。我尝试用谷歌搜索我的问题,但没有运气。有什么建议,或者我可以尝试的任何事情吗?

您必须逐个字符地检查它是否为数字,如果是,则将其添加到新字符串中。最后,您像往常一样将新字符串转换为 int。看看下面的代码。希望我能帮上忙!

string s = "pc2jjj10";
    char temp;
    string result;

    for (int i = 0; i < s.length(); i++){

        temp = s.at(i);

        if (isdigit(temp)){
            result.push_back(temp);
        }
    }

    int number = stoi(result);