linux 从键盘输入一个数组将数组写入文件再读取出来
时间: 2023-09-19 07:10:54 浏览: 41
好的,下面是一个简单的示例代码,可以实现从键盘输入一个数组,将数组写入文件,再从文件中读取出来:
```c
#include <stdio.h>
#define MAX_SIZE 100
int main() {
int arr[MAX_SIZE], n, i;
FILE *fp;
// 从键盘输入数组
printf("请输入数组的大小(不超过 %d):", MAX_SIZE);
scanf("%d", &n);
printf("请输入 %d 个整数:", n);
for (i = 0; i < n; i++) {
scanf("%d", &arr[i]);
}
// 将数组写入文件
fp = fopen("array.txt", "w");
fprintf(fp, "%d\n", n);
for (i = 0; i < n; i++) {
fprintf(fp, "%d ", arr[i]);
}
fclose(fp);
// 从文件中读取数组
fp = fopen("array.txt", "r");
fscanf(fp, "%d", &n);
printf("从文件读取到的数组大小为 %d\n", n);
for (i = 0; i < n; i++) {
fscanf(fp, "%d", &arr[i]);
printf("%d ", arr[i]);
}
fclose(fp);
return 0;
}
```
上述代码中,我们首先从键盘输入一个数组,然后将数组写入文件(文件名为 array.txt),最后从文件中读取数组并输出。在写入文件时,我们先将数组的大小(即元素个数)写入文件的第一行,然后将数组的每个元素写入文件的第二行。在读取文件时,我们先读取文件的第一行获取数组的大小,然后再读取文件的第二行获取数组的每个元素。注意,这里我们使用了 fscanf 和 fprintf 函数来读写文件,它们的用法与 scanf 和 printf 函数类似,只是需要传入文件指针作为参数。