C++ 从文本文件中读取字符串并放置在二维数组中

C++ 从文本文件中读取字符串并放置在二维数组中,c++,arrays,multidimensional-array,text-files,C++,Arrays,Multidimensional Array,Text Files,在过去的两个小时里,我在这个论坛和其他论坛上搜索了一些关于如何逐行读取txt文件并将其存储在一个2D数组中的指针和指南,我可以使用其他函数操作该数组,然后将该数组保存回文本文件;运气不好。希望一些明亮的火花能为我指明正确的方向 当前我的文本文件包含的数据由空格分隔,如下所示: Number1 Number2 Number3 Colour1 Colour2 Colour3 Letter1 Letter2 Letter3 ... void getAndSetData() { fstream

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

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

Number1 Number2 Number3
Colour1 Colour2 Colour3
Letter1 Letter2 Letter3
...
void getAndSetData()
{
   fstream file1;
   file1.open("1.txt", ios::in);
}
2D数组的“获取和设置”需要在一个单独的函数中完成,我认为数组需要是全局的,因为它们稍后会被其他函数操作(即添加新行、删除行等)

我知道函数的开头需要如下所示:

Number1 Number2 Number3
Colour1 Colour2 Colour3
Letter1 Letter2 Letter3
...
void getAndSetData()
{
   fstream file1;
   file1.open("1.txt", ios::in);
}
并将包含一个嵌套的for循环,该循环将依次将2D数组中的元素设置为1。然而,我真的不知道该怎么做


提前谢谢。

您好,这里是我如何做到这一点的示例代码

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;
            }
        }
    }
ifstream-in(“test.txt”);//输入文件
字符串my_数组[3][200];
无效将\u读入\u数组()
{
if(in.is_open())
{
对于(int i=0;i<200;++i)//行数
{
for(int j=0;j<3;++j)//列数
{
在>>我的_数组[i][j];

coutHello请参考此。研究向量并查看上面的注释,以了解stackoverflow的问题类型。您试图一次解决多个问题,一次解决一个问题。您能将一行整数读入
int[]吗
vector
?你能读懂一个字符串吗?你能读懂一个简单的多行文件吗?如果你在这个问题的每一部分都需要帮助,那么你尝试的练习太难了。感谢Beta的建议。我已经成功地读懂了这个文件,甚至引用了一个数组,例如Array1[0][0]返回:Number1,但是我在打印结果时遇到了问题,打印结果的方式与打印结果存储在文本文件中的方式相同。啊,所以您在打印数组时遇到了问题。数组的类型是什么?您可以打印第一行吗?您可以打印像
int[3]
这样的简单数组吗?