C语言读写二进制文件

本文详细介绍了如何将结构体变量存储到文件中以及从文件中读取,通过C语言的fwrite和fread函数实现。示例中定义了一个包含两个long类型成员的结构体,然后将其数据写入文件并成功读取,确保数据的一致性。内容适用于理解文件操作和结构体在二进制文件中的存储。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一 前言

本篇主要讲解如何将结构体变量存入文件中,并从文件中读取数据。

二 读写文件

初始步骤

typedef struct {
		long n1;
		long n2;
	}Num;

Num number1,number2 ;
number1.n1 =10;
number1.n2 =20;

向文件里面写入数据

FILE *file = fopen("number.txt","wb");//如果文件不存在,则创建文件

if(file == NULL ) {
	printf("open error\n");
}
printf("number1.n1:%ld,number1.n2:%ld\n",number1.n1,number1.n2);
//写入
int size =fwrite(&number1,sizeof(Num),1,file);
printf("write size:%d\n",size);
fclose(file);

读取文件数据

file = fopen("number.txt","rb");
if(file == NULL ) {
	printf("open error\n");
}
size =fread(&number2,sizeof(Num),1,file);
printf("read size:%d\n",size);
printf("number2.n1:%ld,number2.n2:%ld\n",number2.n1,number2.n2);
fclose(file);

三 运行结果

number1.n1:10,number1.n2:20
write size:1
read size:1
number2.n1:10,number2.n2:20

四 总结

本文主要介绍对二进制文件的操作,将结构体数据保存在磁盘文件上。此外,如果要将数据发送给另外一台主机的话,使用网络进行通信。一般可以借助应用层协议(网络工具软件)对文件进行传递,其本质也是对文件的读写操作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值