C++调试 - 从文件中读取并输出 2D 数组
C++ debugs - read from a file and output the 2D array
#include<iostream>
#include<fstream>
using namespace std;
int main(){
ifstream infile;
int X,Y;
char ch;
infile.open("input.txt");
int** intarray = new int*[X];
for(int i = 0; i < X; ++i)
intarray[i] = new int[Y];
for(int k=0; k<16; ++k){
for(int j=0; j<24; ++j){
infile >> intarray[k][j];
cout << intarray[k][j]<<" ";
}
cout<< endl;
}
infile.get(ch);
infile.close();
}
这是我到目前为止写的,数组是动态声明的,但是当我运行时,它出现错误,说分段错误(核心转储)。对于输入文件,第一行是 4 个数字:#rows #columns 最小值最大值,我需要将它们打印出来并将整数放入从第二行开始的二维数组中。我该怎么做?
通常,您会从一定大小的预分配数组开始,然后随着插入更多元素而增加容量。这意味着当元素等待插入到数组中但数组已填充到其预设容量时,您可以分配一个新的、更大的内存块,将元素从原始数组复制到新数组,加上新元素,delete[]
原始数组并将其分配给新数组。
需要内存管理,这通常不是C++的好做法。原因是有一些改进,例如std::vector
,它是围绕动态数组的包装器,本质上是上面描述的那个。但是因为你是一个初学者,我会说先发展使用低级东西的知识,然后逐步提高。
相关文章:
- 这是使用回溯的 nqueen 问题,但我使用了动态 2d 数组,我的程序编译良好,但不返回任何输出
- fftw:为什么我的 2D DFT 输出与每行的 1D DFT 输出不同?
- 将文本文件读取到2D数组中,但数组开始为超过数组[39][]的任何内容输出胡言乱语
- 我的 2D 阵列无法读取文本文件并正确输出
- 用于输出 2D 矢量的语法
- 2D 数组,在网格上输出 x 和 y 轴
- 动态分配的输入,并在C 中输出2D阵列
- C++调试 - 从文件中读取并输出 2D 数组
- 输出 2D 数组及其元素的总和
- 输入和输出的2D字符数组问题
- C++2D数组空白输出
- C++循环 2D 数组奇怪的输出
- 如何输出 2D 数组C++的行总和
- 从数据文件读取到 2D 数组.无输出.C++
- 动态初始化的 2D 数组输出错误
- C++指针和2d数组输出
- Visual C++-读取文本文件,输出2D数组
- 正在从文本文件创建2d int表.输出可能是内存块
- 通过2d数组进行迭代和输出
- 如何使用嵌套的for循环输出2D字符数组