gpt4 book ai didi

c - 将非偶数行的文本文件读入二维数组

转载 作者:太空狗 更新时间:2023-10-29 15:07:15 32 4
gpt4 key购买 nike

抱歉,我是 C 的新手,我遇到了困难。我有一个输入文本文件,上面写着:

5 3
383 386 287
415 293 335
368 492 149
421 362 27
190 59 263

我正在尝试将其读入二维数组。我正在尝试的是:

FILE * fin = NULL;
fin = fopen("myTestData.txt", "r");
int twod[MAX_ROWS][MAX_COLS];

int i, j, num, row, col;
fscanf(fin, "%d%d", &row, &col);

fclose(fin);

fin = fopen("myTestData.txt", "r");
for(i = 0; i < row; i++)
{
for(j = 0; j < col; j++)
{
fscanf(fin, "%i ", &num);
twod[i][j] = num;
}
}

我遇到的问题是,在空白所在的第一行 (twod[0][2]) 上,它正在为其分配第二行 (383) 的第一个整数的值。我该怎么做才能使 [0][2] 获得空值?

感谢您的帮助

最佳答案

删除关闭并重新打开文件的行。在读入行数和列数后,您只需处理剩余的数据,这些数据结构良好 - 就像大多数作业问题一样。

FILE * fin = NULL;
fin = fopen("myTestData.txt", "r");
int twod[MAX_ROWS][MAX_COLS];

int i, j, num, row, col;
fscanf(fin, "%d%d", &row, &col);

//fclose(fin);

//fin = fopen("myTestData.txt", "r");
for(i = 0; i < row; i++)
{
for(j = 0; j < col; j++)
{
fscanf(fin, "%i ", &num);
twod[i][j] = num;
}
}

for (i = 0; i < row; i++)
{
for (j = 0; j < col; j++)
printf("%d ", twod[i][j]);
printf("\n");
}

关于c - 将非偶数行的文本文件读入二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19819237/

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