0

我正在用 C++ 读取文件,这是我的代码:

#include <iostream>
#include <fstream>
#include <algorithm>
#include <climits>
using namespace std;

int main()
{
int row=0;
int col=0;
ifstream inputFile;
int arr[16][5];

    inputFile.open("hdtt4req.txt");

if(inputFile.is_open()) {
        inputFile >> arr[row][col];
        for (row = 0; row < 16; row++) {
            for (col = 0; col < 5; col++) {
                cout <<"hi"; //arr[row][col];
                cout << endl;
            }
        }
    }
    return 0;
}

这是我要阅读的文件:

1 2 2 1 2 
2 1 1 1 2 
3 1 1 1 6 
4 2 2 3 2 
1 2 5 1 2 
2 0 4 3 2 
3 1 2 1 0 
4 2 2 1 2 
1 2 1 1 2 
2 0 0 5 1 
3 2 1 4 1 
4 6 1 2 1 
1 3 1 2 1 
2 1 4 1 4 
3 3 3 2 1 
4 2 0 1 1 

编译后,我得到了这种结果。谁能告诉我错误是什么?谢谢

4

1 回答 1

5

row 和 col 开始未定义,因此该语句inputFile >> arr[row][col];将为您提供未定义的行为。确保在执行任何操作之前将这些值设置为零

row = col = 0;
于 2012-12-29T16:54:01.583 回答