0

我不明白如何在 C 中使用 fscanf 将文本文件中的数据放入数组中,并且还能够以 cli :S 的用户身份编辑文本文件(此处为完整新手..)我尝试使用谷歌搜索,但所有出现的论坛问题多于解决方案和 C++ 非示例。

任何帮助/示例将不胜感激:)

编辑:感谢您的快速回复,我似乎忘记提及我想使用二维数组,并且 txt 文件包含整数,每个后续元素之间有一个空格,每行都有一个新行!

编辑2:所以从我收集到的我必须使用:

  1. fscanf ("filename.txt", "rw")
  2. 创建一个数组[i][j]
  3. i 和 j 的嵌套 for 循环
  4. 如何将 fscanf 数据放入数组中?5.printf("%d\n", &array[i][j])
4

2 回答 2

1

根据输入数据的格式,您可以执行类似的操作来读取每一行的值。

int data[MAX_X][MAX_Y];
FILE * fp = fopen("mydata.txt", "r");
int x, y, value;
// TODO: Initialize data array
while (3 == fscanf(fp, "%d %d %d\n", &x, &y, &value))
{
    if ((x >= MAX_X) || (y >= MAX_Y))
    {
        fprintf(stderr, "range error\n");
        break;
    }
    data[x][y] = value;
}

许多细节取决于输入数据的格式。

于 2012-12-06T20:13:49.573 回答
0

将问题分成几部分:

  1. 如何用 fscanf 读取一个数字
  2. 如何移动到下一个号码
  3. 如何遍历行

然后再单独问。

于 2012-12-06T16:51:28.257 回答