C语言入门教程-二进制文件
[09-12 13:14:04] 来源:http://www.88dzw.com 电路基础 阅读:8394次
文章摘要:此程序使用了一个名为rec的结构体类型,但您也可以使用任一种结构体类型。您可以看到fopen和fclose的使用和在文本文件中是一样的。 新引入的函数是fread、fwrite和fseek。fread函数接受四个参数: 一个内存地址 读入的内存块包含的字节数 读入的内存块个数 文件变量 因此,fread(&r,sizeof(struct rec),1,f);表示:把12个字节(rec类型的大小)的内容从文件f(文件指针指向的当前位置)读入内存地址&r,共要求读入一个12字节大小的块。只要把1改成100,就可以很容易地使这条语句变为:将100个块从磁盘读入一个内存数组中。 fwrite和frea
C语言入门教程-二进制文件,标签:电子电路基础,模拟电路基础,http://www.88dzw.com此程序使用了一个名为rec的结构体类型,但您也可以使用任一种结构体类型。您可以看到fopen和fclose的使用和在文本文件中是一样的。
新引入的函数是fread、fwrite和fseek。fread函数接受四个参数:
- 一个内存地址
- 读入的内存块包含的字节数
- 读入的内存块个数
- 文件变量
因此,fread(&r,sizeof(struct rec),1,f);表示:把12个字节(rec类型的大小)的内容从文件f(文件指针指向的当前位置)读入内存地址&r,共要求读入一个12字节大小的块。只要把1改成100,就可以很容易地使这条语句变为:将100个块从磁盘读入一个内存数组中。
fwrite和fread类似,只不过它是将字节块从内存写入文件中。fseek函数负责把文件指针移至文件中的某个字节。指针每次移动的距离一般都是sizeof(struct rec)的整数倍,这样指针就可以保持总是指向记录的开始处。移动指针有三种方式:
- SEEK_SET
- SEEK_CUR
- SEEK_END
SEEK_SET表示指针从文件开始处(0字节处)向后移动x个字节。SEEK_CUR表示指针从当前位置向后移动x个字节。SEEK_END表示指针从文件末尾向前移动(所以偏移量应为负数)。
上面代码中使用了多个函数选项。其中请特别注意一下用r+模式打开文件的段落。这种模式支持文件的读取和写入,即可以修改文件中的记录。程序首先把文件指针移至某个记录,然后读取这条记录内容并修改了一个成员。之后重新把指针移动指向此记录,因为刚才的读取已经更新了指针。最后把修改过的记录写回。
Tag:电路基础,电子电路基础,模拟电路基础,电路基础
- 上一篇:电感基础知识大全
《C语言入门教程-二进制文件》相关文章
- › C语言入门教程-二进制文件
- › C语言入门教程-打开文本文件
- › C语言入门教程-读取文本文件
- › C语言入门教程-指针
- › C语言入门教程-为什么要用指针?
- › C语言入门教程-指针基础
- 在百度中搜索相关文章:C语言入门教程-二进制文件
- 在谷歌中搜索相关文章:C语言入门教程-二进制文件
- 在soso中搜索相关文章:C语言入门教程-二进制文件
- 在搜狗中搜索相关文章:C语言入门教程-二进制文件
编辑推荐
分类导航
最新更新
- · 什么是系统仿真
- · 什么是CPCI
- · 英特尔 Parallel Composer入门
- · 什么是支持数据库,什么是中宏数据库
- · 什么是数据交换技术
- · 什么是内部数据传输率
- · 什么是空间数据交换中心
- · 什么是差异备份
- · 什么是备份集
- · 什么是映像备份
热门排行
- · IGBT模块
- · 什么是24脉波整流变压器
- · 自动变速器不能强制降挡故障原因、诊断与排
- · 什么是MD机
- · 中心频率,什么是中心频率
- · 功率单位mw和dbm的换算表
- · 中值滤波模块设计思路
- · 反馈振荡器的原理
- · 气体激光器简介
- · 数制与进位记数法