如何读取文件中的多个数组c
时间: 2024-04-16 13:24:05 浏览: 70
c语言实现把文件中数据读取并存到数组中
5星 · 资源好评率100%
要读取文件中的多个数组,你可以使用C语言中的文件操作函数来实现。下面是一个示例代码:
```c
#include <stdio.h>
#define MAX_ARRAY_SIZE 100
int main() {
FILE *file;
char filename[50];
int arrays[MAX_ARRAY_SIZE][MAX_ARRAY_SIZE];
int num_arrays = 0;
int array_size[MAX_ARRAY_SIZE];
printf("请输入文件名:");
scanf("%s", filename);
// 打开文件
file = fopen(filename, "r");
if (file == NULL) {
printf("无法打开文件 %s\n", filename);
return 1;
}
// 读取数组
while (!feof(file) && num_arrays < MAX_ARRAY_SIZE) {
int size;
fscanf(file, "%d", &size);
for (int i = 0; i < size; i++) {
fscanf(file, "%d", &arrays[num_arrays][i]);
}
array_size[num_arrays] = size;
num_arrays++;
}
// 输出数组
printf("\n从文件 %s 中读取到的数组如下:\n", filename);
for (int i = 0; i < num_arrays; i++) {
printf("\n第 %d 个数组(大小:%d):\n", i + 1, array_size[i]);
for (int j = 0; j < array_size[i]; j++) {
printf("%d ", arrays[i][j]);
}
printf("\n");
}
// 关闭文件
fclose(file);
return 0;
}
```
在上面的代码中,我们首先定义了一个二维数组`arrays`来存储从文件中读取到的多个数组,以及一个一维数组`array_size`来存储每个数组的大小。然后,通过用户输入获取文件名。
接下来,我们使用`fopen`函数打开文件,如果文件打开失败,则输出错误信息并返回。然后,使用循环读取文件中的数组。每次循环首先读取数组的大小,然后使用嵌套循环依次读取数组中的元素。读取完一个数组后,将其大小存储到`array_size`数组中,并增加`num_arrays`计数器。
最后,我们使用另一个循环输出从文件中读取到的数组。依次输出每个数组的序号、大小以及元素。
最后,使用`fclose`函数关闭文件。
这样,你就可以读取文件中的多个数组了。请确保文件中的数据格式正确,并且文件中的数组数量不超过`MAX_ARRAY_SIZE`限制。
阅读全文