C++ 如何将字符串中的数字字符组转换为c++;?

C++ 如何将字符串中的数字字符组转换为c++;?,c++,string,double,typeconverter,C++,String,Double,Typeconverter,我正在尝试构建一个程序,该程序将读取用户定义的字符串,例如:“1x+2y=3”,并将数值1、2和3存储到数组或向量中。 所以myArray将包含[1,2,3]; 我最终尝试建立一个程序,使用矩阵方法找到给定直线的交点。但我需要能够正确地将输入存储在向量中,然后才能处理它。下面列出了我当前的代码,但给出了垃圾值。 我不仅需要将字符串中的字符转换为双精度字符,还需要一次转换多个字符,例如,如果输入的数字是49.5,我需要myArray[0]保存49.5,而不仅仅是4。 我尝试过使用stod,但它给了

我正在尝试构建一个程序,该程序将读取用户定义的字符串,例如:“1x+2y=3”,并将数值1、2和3存储到数组或向量中。 所以myArray将包含[1,2,3]; 我最终尝试建立一个程序,使用矩阵方法找到给定直线的交点。但我需要能够正确地将输入存储在向量中,然后才能处理它。下面列出了我当前的代码,但给出了垃圾值。 我不仅需要将字符串中的字符转换为双精度字符,还需要一次转换多个字符,例如,如果输入的数字是49.5,我需要myArray[0]保存49.5,而不仅仅是4。 我尝试过使用stod,但它给了我一条错误消息,我无法理解为什么我将作为示例发布的代码直接复制到IDE中。非常感谢您的任何建议:)\u提前感谢

这是我目前的代码:

#include <iostream>
#include <string>

using namespace std;

int main() {
    string sentance;
    int myArray[20] = {},
    arrayPosition = 0;

    getline(cin,sentance);
    for(int i = 0; i<sentance.length(); i++) {  
        if(isdigit(sentance[i])) {
            double tempDouble = sentance[i];

            myArray[arrayPosition] = tempDouble;
            arrayPosition++;
            cout<<"\ntempDouble is equal to: "<<tempDouble<<endl;
        }
    }

    cout<<"\n\nThe new array is:";
    for(int i = 0; i<= 20; i++) {
        cout<<myArray[i]<<"  ";
    }

    return 0;
}
#包括
#包括
使用名称空间std;
int main(){
串句;
int myArray[20]={},
阵列位置=0;
getline(cin,sentance);

for(int i=0;在分配给tempDouble时,可能会重复try atof)()