c语言读写二进制文件
时间: 2023-10-26 15:17:38 浏览: 55
在 C 语言中,读写二进制文件与读写普通文本文件的过程有一些不同,需要使用二进制模式打开文件,并使用适当的函数进行读写操作。以下是一个简单的示例代码,用于在 C 语言中进行二进制文件读写操作:
```c
#include <stdio.h>
#include <stdlib.h>
struct student {
char name[50];
int age;
float weight;
};
int main() {
FILE *fp;
struct student stu;
// 打开二进制文件
fp = fopen("students.dat", "wb+");
// 写入结构体到文件
strcpy(stu.name, "John");
stu.age = 18;
stu.weight = 65.5;
fwrite(&stu, sizeof(struct student), 1, fp);
// 定位到文件开始
rewind(fp);
// 读取文件内容
fread(&stu, sizeof(struct student), 1, fp);
printf("读取文件内容:\n");
printf("姓名:%s\n", stu.name);
printf("年龄:%d\n", stu.age);
printf("体重:%f\n", stu.weight);
// 关闭文件
fclose(fp);
return 0;
}
```
这个例子中,程序首先使用 `fopen()` 函数打开一个名为 `students.dat` 的二进制文件,并使用 `wb+` 模式打开,可以进行写入和读取操作。然后,程序使用 `fwrite()` 函数将一个 `struct student` 结构体写入文件中。接着,程序使用 `rewind()` 函数将文件指针定位到文件开始,然后使用 `fread()` 函数读取文件内容到 `struct student` 结构体变量中。最后,程序使用 `fclose()` 函数关闭文件。需要注意的是,在读写二进制文件时,需要使用 `fwrite()` 和 `fread()` 函数,并且在调用这两个函数时,需要指定要读写的数据类型的大小和数量。