第12章 文件操作-【千锋教育】C语言程序设计(微课)

2023-03-21
| 35页
| 114人阅读
| 0人下载
教辅

内容正文:

第12章 文件操作 文件概述 文件的常用操作 文件的高级操作 文件的加密与解密 C语言程序设计 文件概述 文件的常用操作 文件的高级操作 目 录 CATALOUGUE 初心至善 匠心育人 01 02 03 了解文件的概念 了解文件加密与解密 掌握文件的基本操作 掌握文件的高级操作 学 习 目 标 LEARNING OBJECTIVES 初心至善 匠心育人 12.1 文件概述 12.1.1 文件 12.1.2 文本文件与二进制文件 12.1.3 流 12.1.4 重定向 初心至善 匠心育人 计算机系统是以文件为单位,来对数据进行管理的,打开Windows上的资源管理器,进入任意一个文件夹,就可以看到文件了,如图所示。 一个文件要有一个由文件路径、文件名主干和文件后缀组成的唯一标识,以便用户识别和引用,它常被称为文件名,但注意此时所称的文件名包括三部分内容,而不是文件名主干。文件名主干的命名规则遵守标识符的命名规则。后缀名用来表示文件的形式,一般不超过3个字母,如:exe(可执行文件),c(C语言源程序文件),cpp(C++源程序文件),txt(文本文件)等。 12.1 文件概述 12.1.1 文件 初心至善 匠心育人 C语言中把“文件”看成是一个字符的序列,即由一个个字符(字节)的数据顺序组成,根据数据的组织形式可分为ASCII文件和二进制文件两种,ASCII文件又称为文本(text)文件,每一个字节放一个ASCII代码,代表一个字符。二进制文件是把内存中的数据按其在内存中的存储形式原样输出到磁盘。例如:整数1034用ASCII码存放占用4个字节,若按二进制形式存放只占用2个字节,如图所示。 12.1 文件概述 12.1.2 文本文件与二进制文件 初心至善 匠心育人 用ASCII码形式输出时字节与字符一一对应,一个字节代表一个字符,因此便于对字符进行逐个处理,也便于输出字符。但一般占存储空间较多,而且要花费二进制转化为ASCII码的转换时间。用二进制形式输出数值,可以节省外存空间和转换时间,把内存中的存储单元中的内容原样地输出到磁盘(或其他外部介质)上,此时每一个字节并不一定代表一个字符。如果程序运行过程中有的中间数据需要保存到外部介质上,以便在需要时再输入到内存,一般用二进制文件比较方便。在事务管理中,常有大批数据存放在磁盘上,随时调入计算机进行查询或处理,然后又把修改过的信息再存回磁盘,这时也常用二进制文件。 此外windows有一个明显的区别是对待文本文件读写的时候,会将换行 自动替换成 \r 。 12.1 文件概述 12.1.2 文本文件与二进制文件 初心至善 匠心育人 C语言中引入了流的概念,它将数据的输入输出看作是数据的流入和流出,这样不管是磁盘文件或者是物理设备(打印机、显示器、键盘等),都可看作一种流的源和目的。C语言中流可分为2大类,即文本流和二进制流: (1)文本流是由文本行组成的序列,每一行包含0个或多个字符,并以’ ’结尾。在某些环境中, 可能需要将文本流转换为其它表示形式(例如把' '映射成回车符和换行符),或从其它表示形式转换为文本流。 (2)二进制流是由未经处理的字节构成的序列,这些字节记录着内部数据,并具有下列性质:如果在同一系统中写入二进制流,然后再读取该二进制流,则读出和写入的内容完全相同。 12.1 文件概述 12.1.3 流 初心至善 匠心育人 C语言对文件的输入输出是由库函数来完成的,它没有输入输出语句。从内存向磁盘输出数据必须先送到内存中的缓冲区,装满缓冲区后才一次送往磁盘,反之,从磁盘读出数据到内存,也要先将一批数据送入内存缓冲区(充满缓冲区)。然后再从缓冲区逐个将数据送到内存数据区,各个具体C版本的缓冲区大小不完全相同,一般为512字节,接下来了解一下缓冲区对文件进行操作的原理,如图所示: 12.1 文件概述 12.1.3 流 初心至善 匠心育人 C语言本身是没有I/O功能的语言,它是依靠函数模块来完成的。如printf()就是一个I/O函数,在编译时,编译器并不编译printf()函数,而是把它留在链接(link)阶段由链接器来处理。因此在设计程序时,必须指定数据的输入来源(如键盘),以及数据处理完毕后的输出目的地(如文件,打印机),这样程序才能正常运行。当指定了某个输入/输出设备后,如想换由其他设备输入/输出时,则必须要修改源程序,重新进行编译、链接。为了避免这个缺点,C语言提供了I/O的重定向功能,凡是以标准I/O作为输入/输出的程序,均可重定向改由其他文件或设备做输入/输出。因此在编写程序时,可先用标准I/O作为输入/输出对象,等到真正运行时,再重定向到真正需要输入/输出的文件。这样就可避免在编写程序时设置输入/输出的文件名,当需要更改时又

资源预览图

第12章 文件操作-【千锋教育】C语言程序设计(微课)
1
第12章 文件操作-【千锋教育】C语言程序设计(微课)
2
第12章 文件操作-【千锋教育】C语言程序设计(微课)
3
第12章 文件操作-【千锋教育】C语言程序设计(微课)
4
第12章 文件操作-【千锋教育】C语言程序设计(微课)
5
第12章 文件操作-【千锋教育】C语言程序设计(微课)
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。