《C语言程序设计教程》.ppt
《《C语言程序设计教程》.ppt》由会员分享,可在线阅读,更多相关《《C语言程序设计教程》.ppt(43页珍藏版)》请在咨信网上搜索。
1、C C 语言程序言程序设计北京科技大学北京科技大学 计算机系算机系第第1010章章 文文 件件1第第10章章 文件文件10.1 10.1 10.1 10.1 文件的概念文件的概念文件的概念文件的概念10.2 10.2 10.2 10.2 文本文件的文本文件的文本文件的文本文件的读读写写写写10.3 10.3 10.3 10.3 二二二二进进制文件的制文件的制文件的制文件的读读写写写写2024/5/21 周二2l l文件文件文件文件:存:存:存:存储储在在在在外部存外部存外部存外部存储储介介介介质质上相关上相关上相关上相关数据数据数据数据的集合。的集合。的集合。的集合。例如:程序文件中保存着程序
2、,数据文件中保存着数据。例如:程序文件中保存着程序,数据文件中保存着数据。例如:程序文件中保存着程序,数据文件中保存着数据。例如:程序文件中保存着程序,数据文件中保存着数据。*.C C C C C C C C语语言的源程序言的源程序言的源程序言的源程序文本文件文本文件文本文件文本文件*.OBJOBJOBJOBJ 目目目目标标文件文件文件文件二二二二进进制文件制文件制文件制文件*.EXEEXEEXEEXE 可可可可执执行文件行文件行文件行文件二二二二进进制文件制文件制文件制文件l l文件的存文件的存文件的存文件的存储储特性特性特性特性文文文文件件件件是是是是一一一一个个个个有有有有序序序序的的的
3、的数数数数据据据据序序序序列列列列。C C C C语语言言言言把把把把文文文文件件件件作作作作为为一一一一个个个个字字字字符符符符(字字字字节节)序序序序列列列列处处理理理理,对对文文文文件件件件的的的的存存存存取取取取是是是是以字符(字以字符(字以字符(字以字符(字节节)为单为单位位位位进进行的。行的。行的。行的。10.1 文件的概述文件的概述10.1.1 10.1.1 文件和文件指文件和文件指文件和文件指文件和文件指针针1.1.什么是文件什么是文件什么是文件什么是文件 2024/5/21 周二3l l设备文件文件 在在在在C C C C语语言言言言中中中中,“文文文文件件件件”的的的的概概
4、概概念念念念被被被被进进一一一一步步步步扩扩大大大大,把把把把每每每每台台台台与与与与主主主主机机机机相相相相连连的的的的输输入入入入输输出出出出设设备备都都都都看看看看作作作作是是是是一一一一个个个个文文文文件件件件。即即即即把把把把实实际际的的的的物物物物理理理理设设备备抽抽抽抽象象象象为为逻逻辑辑文文文文件件件件,它它它它们们被称被称被称被称为为设备设备文件文件文件文件。l l对外外部部设备的的输入入输出出就就是是对设备文文件件的的读写。写。10.1 文件的概述文件的概述10.1.1 10.1.1 文件和文件指文件和文件指文件和文件指文件和文件指针针1.1.什么是文件什么是文件什么是文件
5、什么是文件 2024/5/21 周二4l l按文件存按文件存按文件存按文件存储储数据的形式数据的形式数据的形式数据的形式 ASCIIASCIIASCIIASCII文件(或称文件(或称文件(或称文件(或称文本文件文本文件文本文件文本文件)ASCIIASCII码码文文文文件件件件中中中中每每每每个个个个字字字字节节存存存存放放放放一一一一个个个个ASCIIASCII代代代代码码,代代代代表表表表一一一一个个个个字字字字符符符符,此此此此种种种种存存存存储储形形形形式式式式便便便便于于于于输输出出出出显显示示示示,在在在在DOSDOSDOSDOS操操操操作作作作系系系系统统下可以直接下可以直接下可以
6、直接下可以直接阅读阅读。二二二二进进制文件制文件制文件制文件 二二二二进进制制制制文文文文件件件件中中中中的的的的数数数数据据据据是是是是按按按按照照照照在在在在内内内内存存存存中中中中的的的的二二二二进进制制制制存存存存储储格格格格式式式式存存存存放放放放的的的的,此此此此种种种种存存存存储储形形形形式式式式节节省省省省存存存存储储单单元元元元。二二二二进进制制制制文文文文件件件件在在在在DOSDOSDOSDOS操作系操作系操作系操作系统统下不能直接下不能直接下不能直接下不能直接阅读阅读。10.1 文件的概述文件的概述10.1.1 10.1.1 文件和文件指文件和文件指文件和文件指文件和文件
7、指针针2.2.文件的种文件的种文件的种文件的种类类 2024/5/21 周二5例如将整数例如将整数例如将整数例如将整数1949194919491949分分分分别别存存存存储储在在在在这这两种数据文件中。两种数据文件中。两种数据文件中。两种数据文件中。ASCII文件:文件:ASCII码二二进制文件:制文件:补码占用占用4个字个字节占用占用2个字个字节10.1 文件的概述文件的概述10.1.1 10.1.1 文件和文件指文件和文件指文件和文件指文件和文件指针针2.2.文件的种文件的种文件的种文件的种类类 00110001001100010011100100111001001101000011010
8、0001110010011100111994499000001110000011110011101100111012024/5/21 周二6l l按照按照按照按照对对文件的文件的文件的文件的处处理方式理方式理方式理方式 缓缓冲文件冲文件冲文件冲文件利利利利用用用用缓缓冲冲冲冲文文文文件件件件系系系系统统处处理理理理的的的的文文文文件件件件称称称称为为缓缓冲冲冲冲文文文文件件件件。系系系系统统处处理理理理方方方方法法法法是是是是在在在在内内内内存存存存中中中中为为每每每每个个个个正正正正在在在在使使使使用用用用的的的的缓缓冲冲冲冲文文文文件件件件开开开开辟辟辟辟一一一一个个个个缓缓冲冲冲冲区区区
9、区,其其其其大大大大小小小小是是是是512512个个个个字字字字节节。对对文文文文件件件件读读写写写写数数数数据据据据都都都都通通通通过过缓缓冲区冲区冲区冲区进进行。行。行。行。非非非非缓缓冲文件冲文件冲文件冲文件 利利利利用用用用非非非非缓缓冲冲冲冲文文文文件件件件系系系系统统处处理理理理的的的的文文文文件件件件称称称称为为非非非非缓缓冲冲冲冲文文文文件件件件。系系系系统统处处理理理理非非非非缓缓冲冲冲冲文文文文件件件件时时,不不不不为为文文文文件件件件开开开开辟辟辟辟缓缓冲冲冲冲区区区区,需需需需要要要要程程程程序序序序员员自行自行自行自行设计设计并管理并管理并管理并管理缓缓冲区。冲区。冲
10、区。冲区。83 83 83 83年以后年以后年以后年以后ANSI CANSI CANSI CANSI C标标准中取消了非准中取消了非准中取消了非准中取消了非缓缓冲文件冲文件冲文件冲文件系系系系统统,对对文本文件和二文本文件和二文本文件和二文本文件和二进进制文件均采用制文件均采用制文件均采用制文件均采用缓缓冲文冲文冲文冲文件系件系件系件系统进统进行行行行处处理。理。理。理。10.1 文件的概述文件的概述10.1.1 10.1.1 文件和文件指文件和文件指文件和文件指文件和文件指针针2.2.文件的种文件的种文件的种文件的种类类 2024/5/21 周二7 系系系系统统对对文文文文件件件件的的的的处
11、处理理理理过过程程程程就就就就是是是是对对文件文件文件文件进进行行行行输输入入入入/输输出出出出操作的操作的操作的操作的过过程。程。程。程。从从从从文文文文件件件件读读数数数数据据据据时时,先先先先一一一一次次次次性性性性从从从从磁磁磁磁盘盘文文文文件件件件中中中中读读取取取取一一一一批批批批数数数数据据据据到到到到缓缓冲冲冲冲区区区区,然然然然后后后后再再再再从从从从缓缓冲冲冲冲区区区区逐逐逐逐个个个个将将将将数数数数据送入据送入据送入据送入变变量。量。量。量。向向向向文文文文件件件件写写写写数数数数据据据据时时,也也也也是是是是先先先先将将将将变变量量量量中中中中数数数数据据据据送送送送到
12、到到到缓缓冲冲冲冲区区区区,待待待待缓缓冲冲冲冲区区区区装装装装满满后后后后,再再再再一一一一起起起起存存存存到到到到磁磁磁磁盘盘文文文文件件件件中。中。中。中。10.1 文件的概述文件的概述10.1.1 10.1.1 文件和文件指文件和文件指文件和文件指文件和文件指针针3.3.缓缓冲文件和文件指冲文件和文件指冲文件和文件指冲文件和文件指针针 磁磁盘文件文件 输出出 输入入图10.2 系系统对缓冲文件的冲文件的处理理 输入入 输出出程序区程序区数据区数据区文件文件缓冲区冲区外存外存内存内存2024/5/21 周二810.1 文件的概述文件的概述10.1.1 10.1.1 文件和文件指文件和文件
13、指文件和文件指文件和文件指针针3.3.缓缓冲文件和文件指冲文件和文件指冲文件和文件指冲文件和文件指针针 l l文件文件类型指型指针在在在在缓缓冲冲冲冲文文文文件件件件系系系系统统中中中中,对对每每每每个个个个正正正正在在在在使使使使用用用用的的的的文文文文件件件件都都都都自自自自动动分分分分配配配配一一一一个个个个FILEFILEFILEFILE类类型型型型的的的的结结构构构构体体体体变变量量量量,用用用用于于于于存存存存放放放放文文文文件件件件的的的的有有有有关关关关信信信信息息息息,如如如如文文文文件件件件号号号号、文文文文件件件件状状状状态态、缓缓冲区地址和大小等。冲区地址和大小等。冲区
14、地址和大小等。冲区地址和大小等。FILEFILEFILEFILE类类型是系型是系型是系型是系统统定定定定义义的,包含在的,包含在的,包含在的,包含在stdio.hstdio.hstdio.hstdio.h头头文件文件文件文件中中中中在在在在C C C C语语言言言言中中中中,无无无无论论对对磁磁磁磁盘盘文文文文件件件件还还是是是是设设备备文文文文件件件件的的的的读读/写写写写都都都都要要要要通通通通过过FILEFILEFILEFILE类类型型型型的的的的结结构构构构体体体体变变量量量量进进行行行行。因因因因此此此此对对于于于于每每每每个个个个使使使使用用用用中中中中的的的的磁磁磁磁盘盘文文文文
15、件件件件必必必必须须先先先先定定定定义义一一一一个个个个FILEFILEFILEFILE类类型的型的型的型的文件指文件指文件指文件指针变针变量量量量并指向并指向并指向并指向此此此此变变量量量量。FILEFILE *文件指文件指文件指文件指针变针变量名量名量名量名;typedef struct short level;/*fill/empty level of buffer*/unsigned flags;/*File status flags */char fd;/*File descriptor */unsigned char hold;/*Ungetc char if no buffer*
16、/short bsize;/*Buffer size */unsigned char *buffer;/*Data transfer buffer*/unsigned char *curp;/*Current active pointer*/unsigned istemp;/*Temporary file indicator*/short token;/*Used for validity checking*/FILE;/*This is the FILE object*/2024/5/21 周二9 标标准准准准文文文文件件件件是是是是外外外外部部部部设设备备中中中中的的的的三三三三个个个个特
17、特特特殊殊殊殊的的的的设设备备文文文文件件件件。它它它它们们的的的的文文文文件件件件指指指指针针是是是是系系系系统统定定定定义义的的的的,并并并并由由由由系系系系统统自自自自动动打打打打开开开开和和和和关关关关闭闭。这这三个三个三个三个标标准文件分准文件分准文件分准文件分别别是:是:是:是:标标准准准准输输入入入入文文文文件件件件,文文文文件件件件指指指指针针为为stdinstdin,系系系系统统指指指指定定定定为为键盘键盘。标标准准准准输输出出出出文文文文件件件件,文文文文件件件件指指指指针针为为stdoutstdout,系系系系统统指指指指定定定定为为显显示器示器示器示器。标标准准准准错错
18、误误输输出出出出文文文文件件件件,文文文文件件件件指指指指针针为为stderrstderr,系系系系统统指指指指定定定定为为显显示器示器示器示器,输输出出出出错误错误信息。信息。信息。信息。10.1 文件的概述文件的概述 10.1.1 10.1.1 文件和文件指文件和文件指文件和文件指文件和文件指针针 4.4.标标准文件准文件准文件准文件 2024/5/21 周二1010.1 文件的概述文件的概述10.1.2 10.1.2 文件的打开与关文件的打开与关文件的打开与关文件的打开与关闭闭l l操作文件的一般步操作文件的一般步骤 打开文件打开文件打开文件打开文件 读读写文件写文件写文件写文件 关关关
19、关闭闭文件文件文件文件打开文件打开文件打开文件打开文件:建立建立建立建立用用用用户户程序与文件的程序与文件的程序与文件的程序与文件的联联系系系系,为为文件文件文件文件分分分分 配配配配一个文件一个文件一个文件一个文件缓缓冲区。冲区。冲区。冲区。读读写文件写文件写文件写文件:是指:是指:是指:是指对对文件的文件的文件的文件的读读、写写写写、追加追加追加追加和和和和定位定位定位定位操作。操作。操作。操作。关关关关闭闭文件文件文件文件:切断切断切断切断文件与程序的文件与程序的文件与程序的文件与程序的联联系系系系,释释放放放放文件文件文件文件缓缓冲冲冲冲 区。区。区。区。C C语语言的言的言的言的输输
20、入入入入输输出函数出函数出函数出函数库库中提供了大中提供了大中提供了大中提供了大量的函数,用于完成量的函数,用于完成量的函数,用于完成量的函数,用于完成对对数据文件的建立、数据文件的建立、数据文件的建立、数据文件的建立、数据的数据的数据的数据的读读写、数据的追加等操作。写、数据的追加等操作。写、数据的追加等操作。写、数据的追加等操作。在程序中在程序中在程序中在程序中调调用用用用这这些些些些函数函数函数函数时时,必,必,必,必须须先用先用先用先用includeinclude命令包含命令包含命令包含命令包含stdio.hstdio.h文件。文件。文件。文件。2024/5/21 周二11常用的常用的
21、常用的常用的调调用用用用形式:形式:形式:形式:FILE FILE FILE FILE *fpfpfpfp;fp=fopen(fp=fopen(fp=fopen(fp=fopen(文件名文件名文件名文件名,文件使用方式文件使用方式文件使用方式文件使用方式);文件名文件名文件名文件名:需要打开的文件名称:需要打开的文件名称:需要打开的文件名称:需要打开的文件名称(字符串字符串字符串字符串)。文件使用方式文件使用方式文件使用方式文件使用方式:是具有特定含:是具有特定含:是具有特定含:是具有特定含义义的的的的符号符号符号符号。10.1 文件的概述文件的概述 10.1.2 10.1.2 文件的打开与关
22、文件的打开与关文件的打开与关文件的打开与关闭闭 1.1.文件打开函数文件打开函数文件打开函数文件打开函数fopen(fopen(fopen(fopen()函数功能:函数功能:函数功能:函数功能:按指定的按指定的按指定的按指定的文件使用方式文件使用方式文件使用方式文件使用方式打开指定的打开指定的打开指定的打开指定的文件文件文件文件。若文件打开若文件打开若文件打开若文件打开成功成功成功成功,为该为该文件分配一个文件文件分配一个文件文件分配一个文件文件分配一个文件缓缓冲区和一个冲区和一个冲区和一个冲区和一个FILEFILEFILEFILE类类型型型型变变量,返回一个量,返回一个量,返回一个量,返回一
23、个FILEFILEFILEFILE类类型型型型指指指指针针;若文件打开若文件打开若文件打开若文件打开失失失失败败,返回,返回,返回,返回NULLNULLNULLNULL。2024/5/21 周二12l l文本文件的三种基本使用方式文本文件的三种基本使用方式文本文件的三种基本使用方式文本文件的三种基本使用方式”r r r r”:只只读方式方式 为读(输入入)文文本本文文件件打打开开文文件件。若若文文件件不不存存在在,返回返回NULLNULL。”w w w w”:只写方式只写方式 为写写(输出出)文文本本文文件件打打开开文文件件。若若文文件件不不存存在在,则建立一个新文件;若建立一个新文件;若文件
24、已存在文件已存在文件已存在文件已存在,则清空文件清空文件清空文件清空文件。”a a a a”:追加方式追加方式 为写写(输出出)文文本本文文件件打打开开文文件件。若若文文文文件件件件已已已已存存存存在在在在,则保保保保持持持持原原来来文文件件的的内内内内容容容容,将将新新的的数数据据增增增增加加加加到到原原来来数数据据的的后面后面后面后面;若文件不存在,;若文件不存在,则返回返回NULLNULL。10.1 文件的概述文件的概述 10.1.2 10.1.2 文件的打开与关文件的打开与关文件的打开与关文件的打开与关闭闭2024/5/21 周二13l l二二二二进进制文件的三种基本使用方式制文件的三
25、种基本使用方式制文件的三种基本使用方式制文件的三种基本使用方式”r r r rb b b b”:只只读方式方式 为读(输入入)二二进制制文文件件打打开开文文件件。若若文文件件不不存存在在,返回返回NULLNULLNULLNULL。”w w w wb b b b”:只写方式只写方式 为写写(输出出)二二进制制文文件件打打开开文文件件。若若文文件件不不存存在在,则建立一个新文件;若建立一个新文件;若文件已存在文件已存在文件已存在文件已存在,则清空文件清空文件清空文件清空文件。”a a a ab b b b”:追加方式追加方式 为写写(输出出)二二进制制文文件件打打开开文文件件。若若文文文文件件件件
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计教程 语言程序设计 教程
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【w****g】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【w****g】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。