如何在 C++ 中填充数组?

How do I populate an array in C++?

好吧,我有一个只有 2 行逗号分隔的双精度文本文件。情况总是如此。每行都必须进入其自己单独的双精度类型数组,稍后我将不得不使用线性搜索在另一个数组中找到一个数组。 文本文件示例:

2.5,6.7,3.4,7,6.7,6,4,5,83.6
6.4,7,8,5.3,9,76

到目前为止,我已经设法提取第一行,删除定界符并将其从字符串转换为双精度类型,但我很难将其放入数组中。 我尝试过使用 while 循环、for 循环(有时是嵌套的),但它们都不起作用。我知道这是一个简单的解决方案,但我似乎无法理解它或数组的概念。

我能够编码(不搞乱)的最大程度是简单地显示它。但我需要它在一个数组中。我的代码如下。提前谢谢你。

#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
using namespace std;
int main ()
{
    double array[10];
    int count = 0 ;
    string values;
    int I =0;
    ifstream inputfile.open("numbers.txt");
    if (!inputfile.is_open())
    {
        cout<<"error opening file"<<endl;
    }

    if (inputfile.good())
    {
        string line;
        string num;
        getline(inputfile,line);
        values= slime;
        string stream ss(values);
        while (getline (ss,num ,','))
        {
            cout<<stod(num)<<" ";
            //HOW DO I PUT THIS INTO THE ARRAY INSTEAD PLEASE??
        }
    }

    inputfile.close();
    return 0;
}

几件事 - 尽量不要使用 using namespace std 第二 - 你检查 inputfile.good() 只有相关 after 阅读 第三 - 你需要一个指向数组 运行 的索引,所以我添加了随着循环递增的 I,但我没有检查它是否比你的数组长度更重要,所以如果它 relevet 添加一个检查到.

#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
using namespace std;

int main ()
{
    double array[10];
    int count = 0 ;
    string values;
    int I =0;
    ifstream inputfile.open("numbers.txt");
    if (!inputfile.is_open())
    {
        cout<<"error opening file"<<endl;
    }

    string line;
    string num;
    getline(inputfile,line);
    values= slime;
    string stream ss(values);
    int i=0;
    while (getline (ss,num ,','),)
    {
        cout<<stod(num)<<" ";
        array[i] = stod(num);
        ++i;
    }
    inputfile.close();
    return 0;
}