fread读取数据到二维数组
时间: 2023-12-09 14:49:37 浏览: 48
可以使用以下代码将数据读取到二维数组中:
```c
#include <stdio.h>
int main() {
FILE *fp;
int rows = 3, cols = 4;
int arr[rows][cols];
fp = fopen("data.txt", "r");
if (fp == NULL) {
printf("File not found!");
return 1;
}
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
fscanf(fp, "%d", &arr[i][j]);
}
}
fclose(fp);
// Print array
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
return 0;
}
```
假设数据文件 "data.txt" 包含以下内容:
```
1 2 3 4
5 6 7 8
9 10 11 12
```
输出结果为:
```
1 2 3 4
5 6 7 8
9 10 11 12
```
相关问题
用fread函数读取数据到二维数组
可以使用以下代码将数据读取到二维数组中:
```c
#include <stdio.h>
int main() {
FILE *fp;
int array[10][10];
int i, j;
fp = fopen("data.txt", "rb"); // 以二进制模式打开文件
if(fp == NULL) {
printf("Error: Cannot open file!\n");
return 1;
}
// 读取数据到数组
for(i = 0; i < 10; i++) {
fread(array[i], sizeof(int), 10, fp);
}
fclose(fp);
// 输出数组中的数据
for(i = 0; i < 10; i++) {
for(j = 0; j < 10; j++) {
printf("%d ", array[i][j]);
}
printf("\n");
}
return 0;
}
```
在上面的代码中,我们首先使用 `fopen` 函数以二进制模式打开文件。然后使用 `fread` 函数将文件中的数据读取到数组中。注意到我们使用了一个双重循环来输出数组中的数据。
需要注意的是,上面的代码假设数据文件中存储的是 `int` 类型的数据,且每行有 10 个数。如果你的数据文件格式不同,需要相应地修改代码。
用fread函数读取文件中的二进制数据到二维数组
可以使用以下代码片段来读取二进制文件中的数据到二维数组中:
```c
#include <stdio.h>
#include <stdlib.h>
#define ROWS 10
#define COLS 10
int main() {
FILE *fp;
int arr[ROWS][COLS];
int i, j;
fp = fopen("data.bin", "rb"); // 打开二进制文件
if (fp == NULL) {
perror("Error opening file");
exit(EXIT_FAILURE);
}
// 读取数据到二维数组中
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
fread(&arr[i][j], sizeof(int), 1, fp);
}
}
// 输出数组中的数据
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
printf("%d ", arr[i][j]);
}
printf("\n");
}
fclose(fp); // 关闭文件
return 0;
}
```
上述代码中,首先定义了一个二维数组 `arr`,然后使用 `fopen` 函数打开二进制文件,并使用 `fread` 函数将文件中的数据读取到数组中。`fread` 函数的第一个参数为要读取的数据的存储位置,第二个参数为每个数据的大小,第三个参数为要读取的数据的数量,第四个参数为要读取数据的文件指针。在读取完数据后,输出数组中的数据,并使用 `fclose` 函数关闭文件。
相关推荐
![doc](https://img-home.csdnimg.cn/images/20210720083327.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)