Attribuer des variables doubles au double tableau dynamique
-
12-11-2019 - |
Question
J'ai essayé d'attribuer différentes variables de valeur à double tableau en boucle, mais l'ensemble du tableau n'a qu'une seule valeur
double *float_array;
float_array = new double [dynamic_variable]; // debugger does tell me its size
stringstream ss1(line);
string s1;
string s2 = "2.1";
double test= atof(s2.c_str());
while (getline(ss1,s1,','))
{
float_array[count] = atof(s1.c_str());
count++;
}
count = 0;
root->data = float_array;
root->next = new node;
Affichage d'un code supplémentaire
class node
{
public:
double * data;
node *next;
node(void);
~node(void);
};
int _tmain(int argc, _TCHAR* argv[])
{
double arr[4]= {0.689997};
double * float_array;
string file_name;
string line,token;
string path= "D:\\DM\\Assignment No. 1\\";
cin>>file_name;
file_name= path + file_name;
ifstream aa;
aa.open(file_name,ios::in|ios::out);
node *root; int float_arr_size=0;int count=0;
//aa.open(file_name,ios::in|ios::out);
if(aa.is_open())
{
while(!aa.eof())
{
aa>>line;
cout<<line<<endl;
cout<<endl;
stringstream ss(line);
string s;
while (getline(ss, s, ','))
{
float_arr_size++;
}
float_array= new double[float_arr_size];
s="";
stringstream ss1(line);
string s1;
string s2= "2.1";
double test= atof(s2.c_str());
while(getline(ss1,s1,','))
{
float_array[count] = atof(s1.c_str());
count++;
}
count = 0;
root->data =float_array;
root->next= new node;
}
}
aa.close();
return 0;
}
J'obtiens une conversion parfaite dans ma variable de test. J'obtiens aussi "2.1" s1
, mais dans le débogueur, je n'obtiens qu'une seule valeur dans float_array qui est 5.0999945. Aucun autre index n'a d'autres valeurs. Après avoir converti correctement la valeur de variable de test, je vois un problème dans mon tableau dynamique.
Y a-t-il une solution, s'il vous plaît?
Pas de solution correcte
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow