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