c语言程序设计教学资料-第13章---文件操作

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

第13章文件操作主要内容二进制文件和文本文件文件的打开和关闭文件的顺序读写文件的概念文件有不同的类型,在程序设计中,主要用到两种文件:(1)程序文件。包括源程序文件(后缀为.c)、目标文件(后缀为.obj)、可执行文件(后缀为.exe)等。这种文件的内容是程序代码。(2)数据文件。文件的内容不是程序,而是供程序运行时读写的数据,如:在程序运行过程中输出到磁盘(或其他外部设备)的数据,或在程序运行过程中供读入的数据。如一批学生的成绩数据,或货物交易的数据等。Intheprevious,从终端的键盘输入数据,运行结果输出到终端显示器上。数据的存储在计算机内存中,当程序结束,内存的中数据就会丢失。常常需要将一些数据保存到光盘、磁盘等外存储器上,达到重复使用,永久保存数据的目的。C语言文件有两种形式:(1)文本文件(也称ASCII码文件)(2)二进制文件区别:存储数值型数据的方式不同。文本文件中,每个数字都单独占用一个字节的存储空间二进制文件中,把整个数字作为一个二进制数来存储,并非数字的每一个数字都占用单独的存储空间二进制文件和文本文件例:shortn=123;无论C语言文件的内容是什么,都把数据看成字节构成的序列,即“字节流”。文件的存取以字节为单位。输入/输出的数据流仅受程序控制而不受物理符号的控制,所以C语言文件也称流式文件缓冲文件系统中,关键的概念是“文件类型指针”,简称“文件指针”每个被使用的文件都在内存中开辟一个相应的文件信息区,用来存放文件的有关信息(如文件的名字、文件状态及文件当前位置等)这些信息是保存在一个结构体变量中的。该结构体类型是由系统声明的,取名为FILE声明FILE结构体类型的信息包含在头文件“stdio.h”中一般设置一个指向FILE类型变量的指针变量,然后通过它来引用这些FILE类型变量文件的打开和关闭用fopen函数打开数据文件用fclose函数关闭数据文件使用上述函数时,需要#includestdio.h对文件读写之前应该“打开”该文件,在使用结束之后应“关闭”该文件。所谓“打开”是指为文件建立相应的信息区(用来存放有关文件的信息)和文件缓冲区(用来暂时存放输入输出的数据)。所谓“关闭”是指撤销文件信息区和文件缓冲区。在编写程序时,在打开文件的同时,一般都指定一个指针变量指向该文件,也就是建立起指针变量与文件之间的联系,这样就可以通过该指针变量对文件进行读写。fopen函数原型(包含路径和文件名;两部分)例:FILE是在stdio.h中定义的结构体类型,封装了文件的相关信息文件的顺序读写在顺序写时,先写入的数据存放在文件中前面,后写入的数据存放在文件中后面在顺序读时,先读文件中前面的数据,后读文件中后面的数据对顺序读写来说,对文件读写数据的顺序和数据在文件中的物理顺序是一致的顺序读写需要用库函数实现文件的顺序读写包括:(1)按字符读写文件读写文件中的字符读写文件中的字符串(2)按格式读写文件(3)按数据块读写文件读写一个字符的函数函数名调用形式功能返回值fgetcfgetc(fp)从fp指向的文件读入一个字符读成功,带回所读的字符,失败则返回文件结束标志EOF(即-1)fputcfputc(ch,fp)把字符ch写到文件指针变量fp所指向的文件中写成功,返回值就是输出的字符;输出失败,则返回EOF(即-1)读写一个字符串的函数函数名调用形式功能返回值fgetsfgets(str,n,fp)从fp指向的文件读入长度为(n-1)的字符串,存放到字符数组str中读成功,返回地址str,失败则返回空字符NULLfputsfputs(str,fp)str所指向的字符串写到文件指针变量fp所指向的文件中写成功,返回0;否则返回非0值按格式读写文件一般调用方式为:fprintf(文件指针,格式字符串,输出表列);fscanf(文件指针,格式字符串,输入表列);按数据块读写文件一般调用方式为:unsignedintfread(viod*buffer,unsingedintsize,unsingedintcount,FILE*fp);功能:从fp所指的文件中读取数据块并存储到buffer指向的内存中buffer读入数据的起始地址,size数据块大小,最多允许读取的数据块的个数,返回值是实际督导的数据开个数unsignedintfwrite(constviod*buffer,unsingedintsize,unsingedintcount,FILE*fp);功能:将buffer指向的内存中的数据块写入fp所指的文件中THEEND

1 / 34
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功