从文本文件中读取字符串并放在2D数组中

时间:2017-01-01 23:24:54

标签: c++ arrays multidimensional-array text-files

我花了两个多小时搜索这个和其他论坛的指针&关于如何逐行读取txt文件并将它们存储在我可以使用其他函数操作的2D数组中然后将数组保存回文本文件的指导;运气不好。希望一些明亮的火花可以指向正确的方向。

目前,我的文本文件包含以空格分隔的数据,如下所示:

Number1 Number2 Number3
Colour1 Colour2 Colour3
Letter1 Letter2 Letter3
...

2D数组的“获取和设置”需要在一个单独的函数中完成,我认为数组需要是全局的,因为它们稍后会被其他函数操纵(即添加一个新行,删除一行)等等。)

我知道函数的开头需要看起来像这样:

void getAndSetData()
{
   fstream file1;
   file1.open("1.txt", ios::in);
}

并且将包含一个嵌套的for循环,然后依次将2D数组中的元素设置为1。但是,我真的不知道如何解决这个问题。

提前谢谢你。

1 个答案:

答案 0 :(得分:0)

你好,这是我如何做的示例代码

ifstream in("test.txt");  // input file 
string my_array[3][200];

    void read_into_array()
    {
        if(in.is_open())
        {

            for(int i = 0; i < 200; ++i) // number of rows
            {
                for(int j = 0; j < 3; ++j) // number of columns
                {
                    in >> my_array[i][j];
                    cout<<my_array[i][j]<<"\t";
                }
                cout<<endl;
            }
        }
    }