我是新来的,也是C的新手。
我想用fopen从文件中打印一个数组,但它似乎不起作用。
我的空数组是char matrix[25][25]
,现在我正在尝试打开一个文本文件并将其打印到数组中。 txt文件名为Matrix1.txt
,由'*'
或' '
的625个字符组成。
我现在要做的是:
//openfile(), LÄNGE=Lenght=25, BREITE=Height=25, datei=file, matrix=array
int dateiöffnen(char matrix[][LÄNGE], char* datei){
FILE *fp;
char cell;
fp = fopen(datei, "r");
if (fp == NULL){
printf("Fehler!\n"); //Fehler=Error
}
else{
for (int y = 0; y < BREITE; y++){
for (int x = 0; x > LÄNGE; x++){
fscanf(fp, "%c", &cell);
matrix[x][y] = cell;
}
}
fclose(fp);
}
}
所以后来我尝试打印阵列并使用该打印阵列播放生命游戏(它在一个开关中):
case 1:
dateiöffnen(matrix, "Matrix1.txt");
play(matrix);
print(matrix);
但由于某种原因,它会打印一个空白数组,如果我尝试在主函数中运行openfile(),就像这样
int main(int argc, char *argv[]) {
char matrix[BREITE][LÄNGE];
int x, y;
//srand(time(NULL));
dateiöffnen(matrix, "Matrix1.txt");
}
它会打印一个这样的数组:
所以我很困惑,如果有人能给我一些暗示会发生什么,我会感到高兴和感激。
答案 0 :(得分:1)
内循环中可能存在拼写错误:
Array ( [newcoach] => Array ( [0] => 6 [1] => 11 [2] => 12 [3] => 13 [4] => 14 ) )
应该是:
for (int x = 0; x > LÄNGE; x++){