【发布时间】:2021-12-29 20:54:12
【问题描述】:
我正在开发一个与用户玩配对游戏的程序。代码可以编译,但是当我尝试运行它时,出现的表中有垃圾值。
我的输入文件如下所示:
//p4data1.dat
A
F
B
D
C
E
F
B
D
E
A
C
//p4data2.dat
F
B
D
C
A
F
E
A
C
D
B
E
我当前的代码是:
void fileAndRandom(char letArr[][COLUMN], int rows, int columns) {
int random = rand() % 2 + 1;
ifstream readFile;
if(random == 1) {
readFile.open("p4data1.dat");
for(int i = 0; i < rows; i++) {
for(int k = 0; k < columns; k++) {
readFile >> letArr[i][k];
}
}
}else if(random == 2) {
readFile.open("p4data2.dat");
for(int b = 0; b < rows; b++) {
for(int a = 0; a < columns; a++) {
readFile >> letArr[b][a];
}
}
}
readFile.close();
}
我不知道如何阅读它。我也不能使用向量,因为我还没有被教导这样做。
【问题讨论】:
-
将 dat 文件读取为字节,然后对字节执行任何操作。 std::string 和 std::vector 是包含字节的好选择。
-
每行末尾是“\n”或“\r\n”,应该忽略它。
-
带有垃圾值的表格是什么样子的?
-
实际上我意识到它不起作用的原因是因为我从未在 main 中调用过该函数 lol