c语言从文件中读取二维数组
时间: 2023-10-10 08:06:53 浏览: 168
c# 将文本文件保存的数据读入二维数组代码
5星 · 资源好评率100%
可以使用标准库函数fscanf()来从文件中读取二维数组。假设文件中的二维数组大小为M行N列,文件名为input.txt,可以按照以下步骤实现:
1. 打开文件并检查是否成功打开。
```c
FILE *fp;
fp = fopen("input.txt", "r");
if (fp == NULL) {
printf("Failed to open file.\n");
exit(1);
}
```
2. 读取文件中的二维数组。
```c
int array[M][N];
int i, j;
for (i = 0; i < M; i++) {
for (j = 0; j < N; j++) {
fscanf(fp, "%d", &array[i][j]);
}
}
```
3. 关闭文件。
```c
fclose(fp);
```
完整的代码如下:
```c
#include <stdio.h>
#include <stdlib.h>
#define M 2
#define N 3
int main() {
FILE *fp;
fp = fopen("input.txt", "r");
if (fp == NULL) {
printf("Failed to open file.\n");
exit(1);
}
int array[M][N];
int i, j;
for (i = 0; i < M; i++) {
for (j = 0; j < N; j++) {
fscanf(fp, "%d", &array[i][j]);
}
}
fclose(fp);
// 打印读取的数组
for (i = 0; i < M; i++) {
for (j = 0; j < N; j++) {
printf("%d ", array[i][j]);
}
printf("\n");
}
return 0;
}
```
假设input.txt文件内容如下:
```
1 2 3
4 5 6
```
程序的输出结果为:
```
1 2 3
4 5 6
```
阅读全文