《C语言程序设计》课程电子教案(PPT课件讲稿)第9章 文件操作

第9章文件操作 ◆文件 ◆操作系统管理数据的基本单位 ◆存储在外存储器上的数据的集合 令使用文件的目的 令程序与数据分离:数据文件的改动不引起程序的改动 令数据共享:不同程序可以访问同一数据文件中的数据 ◆能长期保存程序运行的中间数据或结果数据 ☆☆第章文件操作
☆☆ 第9章 文件操作 1 ❖文件 ❖操作系统管理数据的基本单位 ❖存储在外存储器上的数据的集合 ❖使用文件的目的 ❖程序与数据分离:数据文件的改动不引起程序的改动 ❖数据共享:不同程序可以访问同一数据文件中的数据 ❖能长期保存程序运行的中间数据或结果数据 第9章 文件操作

第9章文件操作 本章要求: 掌握C语言中文件的概念 掌握打开文件的不同模式 掌握使用各种操作函数对文件进行读写的方法 >能编写与文件有关的程序 本章重点: 掌握文件的各种操作函数,能对文件进行读写数据操作。 本章难点: 掌握文件的各种操作函数,能对文件进行读写数据操作。 ☆☆第章文件操作
☆☆ 第9章 文件操作 2 本章要求: ➢掌握C语言中文件的概念 ➢掌握打开文件的不同模式 ➢掌握使用各种操作函数对文件进行读写的方法 ➢能编写与文件有关的程序 本章难点: 掌握文件的各种操作函数,能对文件进行读写数据操作。 本章重点: 掌握文件的各种操作函数,能对文件进行读写数据操作。 第9章 文件操作

911文本文件与二进制文件 C语言把文件看作一个字节序列,即由一连串的字节 组成,称为“流”,每一个字节都可以单独读取,每 一个文件或者以文件结束标志结束,或者在特定的字 节号处结束。 按数据的组织形式分类 1、文本文件 又称ASCI文件,每个字节对应一个字符,用于存放该字 符的ASCI码,输入输出时对字符逐个处理。 文本文件由文本行组成,每行中可以有0个或多个字符, 并以行终止符‘mn结尾,文件结尾是文件结束标志,该标志 后再没有字符出现了。 2、二进制文件 数据按其在内存中的存储形式原样存放 ☆☆第9章文件操作
☆☆ 第9章 文件操作 3 9.1.1 文本文件与二进制文件 ◼C语言把文件看作一个字节序列,即由一连串的字节 组成,称为“流” ,每一个字节都可以单独读取,每 一个文件或者以文件结束标志结束,或者在特定的字 节号处结束。 ◼按数据的组织形式分类 1、文本文件 ➢ 又称ASCII文件,每个字节对应一个字符,用于存放该字 符的ASCII码,输入输出时对字符逐个处理。 ➢ 文本文件由文本行组成,每行中可以有0个或多个字符, 并以行终止符‘\n’结尾,文件结尾是文件结束标志,该标志 后再没有字符出现了。 2、二进制文件 ➢ 数据按其在内存中的存储形式原样存放

【例】整数10000 内存存储形式 ASCI形式 0011000100110000001100000011000000110000 0010011100010000 001001l00010000 进制形式 二进制文件特点: 速度快、便于存放 文本文件特点: 中间结果 速度慢、便于对字符操作 ☆☆第章文件操作
☆☆ 第9章 文件操作 4 00100111 00010000 内存存储形式 00100111 00010000 二进制形式 00110001 00110000 00110000 00110000 00110000 ASCII形式 文本文件特点: 速度慢、便于对字符操作 二进制文件特点: 速度快、便于存放 中间结果 【例】整数10000

912缓冲文件系统 缓冲文件系统:系统自动地为每一个正在使用的文 件在内存中开辟一个缓冲区。 输出文件缓冲区 程序 文件 数据区 输入文件缓冲区 对输入输出进行缓冲,可以大块地转移信息,而不 再是一个个字节进行操作。 内存缓冲区的大小,影响着操作外存的次数。内存 缓冲区越大,则操作外存的次数就少,执行速度就快、 效率高。 ☆☆第9章文件操作
☆☆ 第9章 文件操作 5 9.1.2 缓冲文件系统 • 缓冲文件系统:系统自动地为每一个正在使用的文 件在内存中开辟一个缓冲区。 • 对输入输出进行缓冲,可以大块地转移信息,而不 再是一个个字节进行操作。 • 内存缓冲区的大小,影响着操作外存的次数。内存 缓冲区越大,则操作外存的次数就少,执行速度就快、 效率高。 文件 程序 数据区 输出文件缓冲区 输入文件缓冲区

913文件类型指针 C语言的缓冲文件系统中,用文件类型指针来表示文件。 定义文件类型指针的一般形式: FILE*指针变量名; C编译系统定义的一种结构体类型, 指针变量用于指向一个文件, 其中的成员用于存放有关文件的一 实际上是用于存放文件缓冲区 些信息(文件名、文件状态和文件 的首地址。 当前读写位置等) FILE结构体是在头文件中定义的,对文件操作的程 序,在最前面都应写上文件包含命令:# nclude C语言通过文件指针变量对文件进行打开、读、写及关闭操作。 ☆☆第9章文件操作
☆☆ 第9章 文件操作 6 9.1.3 文件类型指针 • C语言的缓冲文件系统中,用文件类型指针来表示文件。 • 定义文件类型指针的一般形式: FILE *指针变量名; C编译系统定义的一种结构体类型, 其中的成员用于存放有关文件的一 些信息(文件名、文件状态和文件 当前读写位置等) 指针变量用于指向一个文件, 实际上是用于存放文件缓冲区 的首地址。 • FILE结构体是在头文件中定义的,对文件操作的程 序,在最前面都应写上文件包含命令:#include • C语言通过文件指针变量对文件进行打开、读、写及关闭操作

913文件类型指针 FIE结构体类型在头文件 stdio. h中定义如下 typedef struct short level /文件缓冲区占用程度 unsigned fl /文件状态标志 char /文件描述符* unsigned char hold /*若无缓冲区不读取字符* short bsize: /文件缓冲区大小 unsigned char* buffer;/数据缓冲区的位置* unsigned char*curp;/指针当前的位置 unsigned istemp;/临时文件指示器* short token;/用于操作有效性检查* 3 FILE; /文件类型符 在编程时不必关心FLE结构的具体细节,只需在使用O函数 时用这个文件指针变量来指定所操作的文件。 ☆☆第9章文件揉作
☆☆ 第9章 文件操作 7 FILE结构体类型在头文件stdio.h中定义如下: typedef struct { short level; /*文件缓冲区占用程度*/ unsigned flags; /*文件状态标志*/ char fd; /*文件描述符*/ unsigned char hold; /*若无缓冲区不读取字符*/ short bsize; /*文件缓冲区大小*/ unsigned char *buffer; /*数据缓冲区的位置*/ unsigned char *curp; /*指针当前的位置*/ unsigned istemp; /*临时文件指示器*/ short token; /*用于操作有效性检查*/ } FILE; /*文件类型符*/ 9.1.3 文件类型指针 •在编程时不必关心FILE结构的具体细节,只需在使用I/O函数 时用这个文件指针变量来指定所操作的文件

913文件类型指针 在C语言程序中使用文件,需要完成以下工作: 1)声明一个FE类型的文件指针变量; 2)打开文件: 调用 fopen函数将此文件指针变量和某一个实际的磁盘文件相 联系。要求指定文件名,并且说明对该文件是输入操作还是 输出操作。 3)读写文件: 调用适当的文件操作函数完成必要的JO操作。 对输入文件来说,函数从文件中将数据读取至程序中; 对输出文件来说,函数将程序中的数据转移到文件中去 4)关闭文件: 调用 fclose函数表明文件操作结束,断开文件指针与实际文件 之间的联系。 ☆☆第9章文件操作 8
☆☆ 第9章 文件操作 8 9.1.3 文件类型指针 在C语言程序中使用文件,需要完成以下工作: 1)声明一个FILE类型的文件指针变量; 2)打开文件: 调用fopen函数将此文件指针变量和某一个实际的磁盘文件相 联系。要求指定文件名,并且说明对该文件是输入操作还是 输出操作。 3)读写文件: 调用适当的文件操作函数完成必要的I/O操作。 对输入文件来说,函数从文件中将数据读取至程序中; 对输出文件来说,函数将程序中的数据转移到文件中去。 4)关闭文件: 调用fclose函数表明文件操作结束,断开文件指针与实际文件 之间的联系

92文件的打开与关闭 921文件的打开 打开文件,实际上 打开文件使用函数 fopen 是建立文件的各种有 其调用的一般形式为: 关信息,并使文件指 针指向该文件; 文件指针名=open(文件名","文件打开模式") 缓冲文件系统借助 文件指针来对文件进 行管理和访问,既可 需要打开的 确定文件的 文件的名字 以读写字符、字符串、 数据操作方式 格式化数据,也可以 “文件名”和“文件打开模式”都 读写二进制数据。 是字符串常量或字符数组。 ☆☆第9章文件操作
☆☆ 第9章 文件操作 9 9.2 文件的打开与关闭 9.2.1 文件的打开 打开文件,实际上 是建立文件的各种有 关信息,并使文件指 针指向该文件; 缓冲文件系统借助 文件指针来对文件进 行管理和访问,既可 以读写字符、字符串、 格式化数据,也可以 读写二进制数据。 • “文件名”和“文件打开模式”都 是字符串常量或字符数组。 文件指针名=fopen("文件名","文件打开模式") 需要打开的 文件的名字 确定文件的 数据操作方式 打开文件使用函数fopen 其调用的一般形式为:

举例 FILE *fp fp=fopen( source. txt",r); 作用: 以读的方式(“r”模式即表示读“read”)打开当前目录下 文件名为 source. txt的文件。 如果打开文件成功,则返回一个指向 source. txt文件信息区 的起始地址的指针,并赋值给p,即印指向了文件 source. txt o 其后所有对该文件的操作都必须通过印指针来实现。 如果文件打开失败,则返回一个空指针NULL,赋值给po 说明: 文件名可以包含路径和文件名两部分。 ■写路径时,因为转义字符以反斜杠开头,所以“”才是表 示一个反斜杠。 ■【例】若路径和文件名为:“c: itelsource. txt”,则应写成 c:\tc\ Source.txt”。 ☆☆第9章文件操作
☆☆ 第9章 文件操作 10 举 例 FILE *fp; fp=fopen("source.txt","r"); 作用: 以读的方式(“r”模式即表示读“read”)打开当前目录下 文件名为source.txt的文件。 如果打开文件成功,则返回一个指向source.txt文件信息区 的起始地址的指针,并赋值给fp,即fp指向了文件source.txt。 其后所有对该文件的操作都必须通过fp指针来实现。 如果文件打开失败,则返回一个空指针NULL,赋值给fp。 说明: 文件名可以包含路径和文件名两部分。 写路径时,因为转义字符以反斜杠开头,所以“\\”才是表 示一个反斜杠。 【例】若路径和文件名为:“c:\tc\source.txt”,则应写成 “c:\\tc\\source.txt
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 香港科技大学:Recent Development of Heterogeneous Information Networks - From Meta-paths to Meta-graphs.pptx
- 西安培华学院:《计算机应用基础》课程教学资源(PPT课件讲稿)第1章 信息技术与计算机基础知识.ppt
- 同济大学:FWA for Noisy Optimization Problems(张军旗).pptx
- 南京大学:《编译原理》课程教学资源(PPT课件讲稿)第三章 词法分析.ppt
- 电子科技大学:《计算机操作系统》课程教学资源(PPT课件)第一章 操作系统引论.ppt
- 电子工业出版社:《计算机网络》课程教学资源(第五版,PPT课件讲稿)第五章 运输层.ppt
- 四川大学:《操作系统 Operating System》课程教学资源(PPT课件讲稿)Chapter 5 互斥与同步(Mutual Exclusion and Synchronization)5.1 Principles of Concurrency 5.2 Mutual Exclusion.ppt
- 中国科学技术大学:《计算机网络 Computer Networks(计算机通信网)》课程教学资源(PPT课件讲稿)Chapter 06 Internet Protocol.ppt
- 构建互联互通的单位局域网(PPT讲稿).ppt
- 安徽理工大学:《汇编语言》课程教学资源(PPT课件讲稿)第八章 输入输出程序设计.ppt
- 中国科学技术大学:《信号与图像处理基础 Signal and Image Processing》课程教学资源(PPT课件讲稿)空域滤波 Spatial Filtering.pptx
- 广西医科大学:《计算机网络 Computer Networking》课程教学资源(PPT课件讲稿)Chapter 03 Network Management and Operation(Network Architetures and Standarts).pptx
- 《电子商务实用教程》课程教学资源(PPT课件讲稿)第三章 网络营销.ppt
- 河南中医药大学:《网络技术实训》课程教学资源(PPT课件讲稿)第7讲 网络安全实训(主讲:许成刚).pptx
- 《计算机应用基础》工学结合配套课件(PPT讲稿)模块二系统软件操作技术(Windows XP的实用工具).ppt
- 《C++程序设计》教学资源(PPT课件讲稿)构造函数和析构函数.ppt
- 《程序设计语言》课程教学资源(PPT课件讲稿)第5章 函数式程序设计语言.ppt
- 南京大学:移动Agent系统支撑(PPT讲稿)Agent Mobility Software Agent.pptx
- 计算机硬件维护(PPT课件讲稿).ppt
- 《MATLAB程序设计》课程教学资源(教学大纲)Matlab programming.doc
- 理论计算机科学(PPT专题讲稿)Topics in Theoretical Computer Science(Linear Programming).pptx
- 北京建筑大学:《计算机图形学》课程教学资源(PPT课件讲稿)第一章 绪论(吕书强).ppt
- 清华大学:《计算机导论》课程电子教案(PPT教学课件)第5章 程序设计知识.ppt
- 中国科学技术大学:《计算机文化基础》课程教学资源(PPT课件讲稿,共四章,李金龙).ppt
- 《自然语言处理》课程教学资源(PPT课件讲稿)语言模型.ppt
- 《计算机网络》课程教学资源(PPT课件讲稿)第7章 运输层.ppt
- 河南中医药大学(河南中医学院):《计算机文化》课程教学资源(PPT课件讲稿)第八章 数字多媒体.ppt
- 丽水职业技术学院:《电子商务实训》课程教学资源(PPT课件讲稿)电子商务交易模式之“B2C”.ppt
- 中国科学技术大学:《数据结构》课程教学资源(PPT课件)第八章 查找表.pps
- 《数据结构》课程教学资源(PPT课件讲稿)第九章 排序 Sort.ppt
- 《微机原理》课程教学资源(PPT课件讲稿)第三章 寻址方式与指令系统.ppt
- 《数据结构和编程设计》课程教学资源(PPT课件讲稿)Chapter 1 Programming Principles.ppt
- 西安电子科技大学:人工神经网络(PPT讲稿)Artificial Neural Networks(Introduction).ppt
- A New Approach for Accurate Modelling of Medium Access Control(MAC)Protocols.ppt
- 贵州师范学院:《高级语言程序设计 Advanced Programming》课程教学资源(PPT课件讲稿)第9章 结构体.ppt
- 《大型机高级系统管理技术》课程教学资源(PPT课件讲稿)第3章 作业控制语言.ppt
- 厦门大学:《大数据技术原理与应用》课程教学资源(PPT课件讲稿)第九章 图计算.ppt
- 《微机原理笔记》课程教学资源(PPT课件讲稿)第6章 输入输出和中断技术.ppt
- 香港科技大学:Introduction to Software Defined Network(SDN).pptx
- 《高级语言程序设计 Advanced Programming》课程教学资源(PPT课件讲稿)第5章 循环结构程序设计.ppt