C语言(长期更新)第22讲:文件操作(一)
C语言(长期更新)第22讲
文件操作(一)
跟着潼心走,轻松拿捏C语言,困惑通通走,一去不回头~欢迎开始今天的学习内容,你的支持就是博主最大的动力。
博主主页:潼心1412o-CSDN博客
目录
C语言(长期更新)第22讲
文件操作
知识回顾
22.1 为什么使用文件
22.2 什么是文件
22.2.1 程序文件
22.2.2 数据文件
22.2.3 文件名
22.3 二进制文件和文本文件
22.4 文件的打开和关闭
22.4.1 流和标准流
22.4.1.1 流
22.4.1.2 标准流
22.4.2 文件指针
22.4.3 文件的打开和关闭
知识回顾
上节课我们学习了动态内存管理,今天我们来学习文件操作,坐稳了,我们发车,gogogo,出发喽!
22.1 为什么使用文件
没有文件,我们写的程序数据储存在电脑内存中,程序退出,内存回收,数据就丢失了
想要将数据长久保存,就可使用文件
22.2 什么是文件
磁盘(硬盘)上的文件
程序设计中的文件有两种:程序文件、数据文件(文件功能的角度分类)
22.2.1 程序文件
包括源程序文件(后缀.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀为.exe)
22.2.2 数据文件
文件的内容不一定是程序,而是程序运行时读写的数据。如程序运行时,需要从中读取或输出数据的文件。
本章探讨的是数据文件
在以前各章所处理数据的输⼊输出都是以终端为对象的,即从终端的键盘输⼊数据,运⾏结果显⽰到显⽰器上。
其实有时候我们会把信息输出到磁盘上,当需要的时候再从磁盘上把数据读取到内存中使⽤,这⾥处理的就是磁盘上⽂件
22.2.3 文件名
一个文件要有唯一的文件标识,便于用户的识别和引用
文件名包含三部分:文件路径+文件名主干+文件后缀
例如 c:\code\test.txt
为方便,文件标识被称作文件名
22.3 二进制文件和文本文件
根据数据的组织形式,数据文件分为文本文件和二进制文件
数据在内存中以二进制形式存储,不加转化输出到外存文件中,就是二进制文件
如果要求在外存上以ASCII码值的形式存储,那就是文本文件
一个数据在文件中如何存储呢?
字符一律是以ASCII码值进行存储的,数值型数据几可以用ASCII形式存储,也可以使用二进制形
式存储
如有整数10000,如果以ASCII码的形式输出到磁盘,则磁盘中占⽤5个字节(每个字符⼀个字节),⽽⼆进制形式输出,则在磁盘上只占4个字节
在VS上打开二进制文件
22.4 文件的打开和关闭
22.4.1 流和标准流
22.4.1.1 流
程序设计领域一个抽象化的概念
程序数据需要输出到外部设备,也需要从外部设备获取数据
不同外部设备输入输出操作不同
为方便程序员对各种设备进行操作,抽象出流的概念
C程序针对⽂件、画⾯、键盘等的数据输⼊输出操作都是通过流操作的。
⼀般情况下,我们要想向流⾥写数据,或者从流中读取数据,都是要打开流,然后操作
22.4.1.2 标准流
C语⾔程序在启动的时候,默认打开了3个流
- stdin标准输入流
- stdout标准输出流
- stderr标准错误流
默认打开三个流,我们就可以使用printf,scanf函数直接进行输入输出操作
C语言通过FILE*的文件指针进行流的维护
22.4.2 文件指针
文件类型指针
每个被使用的文件都会在内存中开辟文件信息区,用于存放文件的相关信息
这些信息保存在一个结构体变量中
该结构体变量由系统声明,取名为FILE
文件指针的创建如下
22.4.3 文件的打开和关闭
文件在使用前要打开,使用完要关闭
编写程序时,打开文件同时,会返回一个FILE*的指针变量指向该文件
相当于建立了指针和文件的关系
ANSI C规定使用fopen打开文件,fcolse关闭文件
下⾯都是⽂件的打开模式
下节课我们一个个讲
好了今天的学习内容就到这里啦,谢谢你的陪伴,我是潼心,下次再见~如果这篇文章对你有帮助的话。请务必给主播一个一键三连,球球了,这对主播很重要~
博主主页:潼心1412o-CSDN博客