(对于C ++)读取类型从文件加倍到2D数组

时间:2018-05-12 19:47:39

标签: c++ arrays

我已经阅读了有关如何执行此操作的问题,但没有一项有效。我试图从文件(类型双打)中读取天气温度。我应该使用2D数组读取它们(我不知道有多少行,但我知道有多少列)。在我阅读之后,我想显示它们以确定它是否有效。

int numRows;
int numCols = 12;
int i = 0;

string line;

while (!inFile.eof()) // Count the number of rows.
{
    getline(inFile, line);
    i++;
}

inFile.close();

numRows = i;
cout << "There are: " << numRows << " rows in this file." << endl;
cout << line << endl;

double TempNum;
double **Temps;
Temps = new double*[numRows];
for (int row = 0; row < numRows; row++)
    Temps[row] = new double[numCols];

while (!inFile.eof())
{
    inFile >> Temps[numRows][numCols];

}

inFile.close();

// Want to print on screen to see if it worked.
for (int row = 0; row < numRows; row++)
{
    for (int col = 0; col < numCols; col++)
        cout << Temps[numRows][numCols];
}

我知道我正在忽略一些关于如何在行内获得实际温度数字的信息。专栏,但我无法弄清楚。我做错了什么?

1 个答案:

答案 0 :(得分:0)

您需要为行指定一个数字。编译器需要知道在执行之前要为阵列保留多少内存。