首页 > 解决方案 > 如何将 CSV 文件列的值保存在数组中,以便我们可以在 C++ 中的循环外使用该数组?

问题描述

我已经使用 getline() 函数读取了字符串格式的 csv 文件,然后将标记列值存储在我使用 stringstream 的整数类型数组中。然后使用 for 循环,我将前 10 个标记存储在一个数组中。

但是,当我在循环之外打印数组的值时,我们从中读取 CSV 文件的值,它会为所有标记打印 0 并且不保留这些值。

我尝试使数组成为全局数组,并尝试将我们在数组中存储标记的循环移动到我们正在读取 CSV 文件值的循环之外,但是当我这样做时,只有最后一个值被打印出来。

因此,我希望在读取 CSV 文件的循环之外保留这些值,以便我们可以在整个程序中使用该数组。在此处输入图像描述

int main()
{
    sorting obj;
    int arr1[10];
    ifstream o1("student.csv");
    if(!o1.is_open()) cout<<"error";
    string serialno;
    string name;
    string marks;
    string age;
    int du;

    for(int i=0; i<10; i++)
    {
        getline(o1, serialno,',');
        getline(o1, name,',');
        getline(o1, marks,',');
        getline(o1, age, '\n');
        //cout<<"student name :"<<name<<"\n";

        stringstream geek(marks);
        int marks1;
        geek >> marks1;

        for(int j = 0; j < 1; j++)
        {
            arr[j] = marks1;
            du = marks1;
        }

        for(int j = 0; j < 1; j++)
        {
            cout<<"test";
            cout<<arr[j]<<" - ";
        }
    }

    for(int c=0; c<10; c++)
    {
        cout<<arr[c]<<" ";
    }

标签: c++arraysalgorithmcsvfile-handling

解决方案


推荐阅读