c语言生成二进制文件的步骤,C语言入门教程-二进制文件

本文介绍了C语言中如何生成和操作二进制文件,包括写入、读取、随机访问结构体数据。通过示例程序展示了如何使用fopen、fread、fwrite和fseek函数进行文件操作,以及如何修改和追加文件内容。
摘要由CSDN通过智能技术生成

二进制文件

二进制文件非常类似于结构体数组,只不过这些结构体被保存在一个磁盘文件而非内存数组中。因为是使用磁盘保存二进制文件中的结构体,所以您可以创建非常庞大数目的结构体(只受可用磁盘空间的限制)。它们还是永久性的,并且可以随时使用。惟一的缺点是磁盘存取会造成延迟。

二进制文件与文本文件有两个不同的特点:您可以立即跳至文件中的任一结构体,类似于数组的随机存取。 您可以随时改变文件中任一处结构体的内容。

二进制文件通常还具有比文本文件更短的存取时间,因为文件记录的二进制映像是直接从内存传送至磁盘的(或相反的方向)。对于文本文件,所有数据都要反复转换成文本,而这需要花费时间。

C所支持的“结构体文件”概念十分简洁。某文件被打开后,您可以读取一个结构体,写入一个结构体,或移动至文件中的任一结构体。这种文件模型要求有一个文件指针的概念。打开文件时,指针指向0号记录(文件的第一个记录)。任何读操作都读取当前被指向的结构体,并将指针指向下一个结构体。任何写操作都向当前被指向的结构体写入数据,并将指针指向下一个结构体。移动操作将文件指针移至指定的记录。

请记住C总是将文件内容视为从磁盘读入内存或从内存写入磁盘的字节块。C使用文件指针,但指针可以指向文件中的任一字节。因此您需要自己管理好指针的位置。

下面的程序可以说明以上概念:

#include /* 任取一种文件记录结构,也可以是其他形式 */

struct rec

{

int x,y,z;

};

/* 向文件“junk”先写入

再读取10条随意的记录。*/

int main()

{

int i,j;

  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值