我正在用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
编译后,我得到了这样的结果。任何人都可以告诉我这是什么错误?谢谢
答案 0 :(得分:5)
row和col start开始未定义,因此语句inputFile >> arr[row][col];
将为您提供未定义的行为。确保在执行任何操作之前将这些值设置为零
row = col = 0;