C语言实现文件矩阵的读写操作
时间: 2024-11-20 21:45:06 浏览: 11
在C语言中,文件矩阵的读写操作通常涉及到两个基本步骤:文件打开、数据读写以及文件关闭。这里是一个简单的例子,假设我们有一个二维数组代表矩阵,并将其存储在一个文本文件中:
**读取文件:**
```c
#include <stdio.h>
#define ROWS 5 // 矩阵行数
#define COLS 4 // 矩阵列数
int matrix[ROWS][COLS];
// 从文件中读取矩阵
void read_matrix(const char *filename) {
FILE *fp;
if ((fp = fopen(filename, "r")) == NULL) {
perror("Error opening file");
return;
}
int i, j;
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
fscanf(fp, "%d", &matrix[i][j]);
}
}
fclose(fp);
}
```
**写入文件:**
```c
// 将矩阵写入文件
void write_matrix(const char *filename) {
FILE *fp;
if ((fp = fopen(filename, "w")) == NULL) {
perror("Error opening file");
return;
}
int i, j;
for (i = 0; i < ROWS; i++) {
for (j = 0; j < COLS; j++) {
fprintf(fp, "%d ", matrix[i][j]); // 注意空格,用于分隔元素
}
fprintf(fp, "\n"); // 每行结束换行
}
fclose(fp);
}
```
**使用示例:**
```c
int main() {
read_matrix("matrix.txt"); // 假设矩阵已存在并保存为matrix.txt
// ... 这里处理矩阵
write_matrix("output.txt"); // 将矩阵写入output.txt
return 0;
}
```
阅读全文