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