当前位置: 首页 > news >正文

C语言文件管理详解(上)

目录

(一)什么是文件

(二)文件的打开和关闭

(三)fopen函数​编辑

(四)fseek函数

(五)ftell函数

(六)rewind函数


(一)什么是文件

内存里的数据是即时的,一旦设备断电就消失不见。为了保存内存里的数据,人们发明了磁盘等一系列永久性保存数据的存储器。而放在磁盘里的文件就是内存的数据。文件分为二进制文件和文本文件。我们知道,计算机的底层是由一个个0,1组成的数字,写一个文件若不加以转换,那这个就是二进制文件。二进制文件在文本编辑器是一堆看不懂的乱码。如果把二进制的数字用ASCII值转换的文件就是文本文件,是人可以看得懂的文件。⼀个数据在⽂件中是怎么存储的呢?字符⼀律以ASCII形式存储,数值型数据既可以⽤ASCII形式存储,也可以使⽤⼆进制形式存储。 如有整数10000,如果以ASCII码的形式输出到磁盘,则磁盘中占⽤5个字节(每个字符⼀个字节),而二进制形式输出,则在磁盘上只占4个字节。

(二)文件的打开和关闭

我们先来讲一个概念:流。数据通常在不同的输入输出设备中进行传输,为了方便描述数据的流动,我们抽象出一个流的概念。我们可以这样比喻流,流是江海中的流,里面流动的水就是传输的数据。C程序针对⽂件、画面、键盘等的数据输⼊输出操作都是通过流操作的。 ⼀般情况下,我们要想向流⾥写数据,或者从流中读取数据,都是要打开流,然后操作。我们打开文件的同时也会打开三个流。Stdin,Stdout,Stderr这三个流。Stdin意为标准输入,通常从键盘输入数据到外存。Stdout意为标准输出,通常从外存输出到显示器。Stderr意为标准错误流,一般输出到显示器。⽂件在读写之前应该先打开⽂件,在使⽤结束之后应该关闭⽂件。 在编写程序的时候,在打开⽂件的同时,都会返回⼀个FILE*的指针变量指向该⽂件,也相当于建⽴了 指针和⽂件的关系。 ANSI C 规定使⽤ fopen 函数来打开⽂件, fclose 来关闭⽂件。

//打开⽂件
 FILE * fopen ( const char * filename, const char * mode );

//关闭⽂件
 int fclose ( FILE * stream );

(三)fopen函数

头文件是<stdio.h>。该函数的第一个参数是一个指针,指向要打开的文件名(一个字符串),第二个参数是模式,用来说明打开这个文件要干什么。返回值是一个文件指针,指向一个文件。

(四)fseek函数

fseek函数的作用是偏移文件指针。根据⽂件指针的位置和偏移量来定位⽂件指针(⽂件内容的光标)。第一个参数要操作的文件指针,第二个参数是在文件指针的偏移量(注意是long int类型),第三个参数是文件指针的起始位置。注意的是,第三个参数通常有三个值。如果 fseek 执行成功,它会返回 0;如果失败,它会返回一个非 0 的值,并设置错误代码。

SEEK_SET;//文件的起始位置是开头
SEEK_CUR;//文件的起始位置是现在的文件指针的位置
SEEK_END;//文件的起始位置是文件的末尾
(五)ftell函数

ftell函数是用来说明现在的文件指针相对于文件开头的偏移量。返回值是偏移量。这个没有什么好讲的。要注意的是返回的值的类型是long int类型的。

(六)rewind函数

rewind函数的作用是让文件指针重新指向文件的起始位置。

相关文章:

  • 下拉菜单+DoTween插件
  • 基于ssm图文印务交互系统小程序(源码+lw+部署文档+讲解),源码可白嫖!
  • Docker 使用指南
  • Django Rest Framework 创建纯净版Django项目部署DRF
  • 每日一题——二叉树的三种中序遍历方法
  • C语言基础要素(017):退出条件循环:do-while
  • Qt 实现波浪填充的圆形进度显示
  • 谈谈 undefined 和 null
  • SAP(第四周)
  • NebulaGraph3.3.0部署与配置
  • 基于运动电商虚拟数据的商业洞察与分析
  • 【Mac】安装 Parallels Desktop、Windows、Rocky Linux
  • Windows 图形显示驱动开发-WDDM 3.0功能- 硬件翻转队列(一)
  • 【Json—RPC框架】:宏定义不受命名空间限制,续行符的错误使用造成的bug
  • 计算机组成原理试题六
  • 正则表达式:贪婪匹配与非贪婪匹配
  • [贪心算法] 摆动序列
  • 佰泰盛世公司推出最新低成本的DSP功放音箱解决方案
  • 仿RabbitMQ的消息队列
  • 数据集格式转换——json2txt、xml2txt、txt2json【复制就能用】
  • 国家主席习近平会见斯洛伐克总理菲佐
  • 中非民间对话在赞比亚举行
  • 水利部:山西、陕西等地旱情将持续
  • 现场丨“影像上海”启幕:串联摄影、电影与当代艺术
  • 苹果Safari浏览器上的搜索量首次下降
  • 著名国际关系理论家、“软实力”概念提出者约瑟夫•奈逝世