gpt4 book ai didi

c - 尝试从文件中打印数组

转载 作者:太空宇宙 更新时间:2023-11-03 23:39:58 24 4
gpt4 key购买 nike

我是新来的,也是 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");
}

它打印出这样的数组:

this

所以我很困惑,如果有人能给我提示发生了什么,我会很高兴和感激。

最佳答案

内部for循环中可能有错字:

for (int x = 0; x > LÄNGE; x++){

应该是:

for (int x = 0; x < LÄNGE; x++){

关于c - 尝试从文件中打印数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48536064/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com