C++ 如何从文件中读取内容并将其存储在动态二维数组中,然后以网格格式显示?

C++ 如何从文件中读取内容并将其存储在动态二维数组中,然后以网格格式显示?,c++,arrays,dynamic,2d,C++,Arrays,Dynamic,2d,我有一个文件input2.txt,如下所示: 我想打开这个文件并将其存储在2d动态数组中。这是在函数main中创建动态数组不要问为什么它是动态的,即使它已定义,idk为什么: 下面是打开文件、处理文件并尝试将内容放入数组: 我问题的第二部分是如何向用户显示该数组?这就是我对该功能的要求: 这些是我拥有的图书馆: 最后,这是我目前得到的输出: 如果你需要任何澄清,请问我。谢谢你的帮助 我不确定您的问题,但vector可以为您做动态工作 这是我以为你问的密码 #include <iostrea

我有一个文件input2.txt,如下所示:

我想打开这个文件并将其存储在2d动态数组中。这是在函数main中创建动态数组不要问为什么它是动态的,即使它已定义,idk为什么:

下面是打开文件、处理文件并尝试将内容放入数组:

我问题的第二部分是如何向用户显示该数组?这就是我对该功能的要求:

这些是我拥有的图书馆:

最后,这是我目前得到的输出:


如果你需要任何澄清,请问我。谢谢你的帮助

我不确定您的问题,但vector可以为您做动态工作

这是我以为你问的密码

#include <iostream>
#include<vector>

int main()
{
freopen ("input.txt","r",stdin);
std::vector<std::vector<int> > vect;

int n,m;
std::cin>>n>>m;

for(int i=0;i<n;i++){
    std::vector<int> v;
    int t;
    for(int j=0;j<m;j++){
        std::cin>>t;
        v.push_back(t);
    }
    vect.push_back(v);
}

for(int i=0;i<n;i++){

    for(int j=0;j<m;j++){

        std::cout<<vect[i][j]<<" ";
    }
    std::cout<<std::endl;
}

return 0;
}

请告诉我这是否有效。

现在好多了。虽然简单地打开std::ifstream而不是freopen可能是更好的解决方案。