C与C--程序设计-第十三章-磁盘文件操作(IO系统)PPT课件_第1页
C与C--程序设计-第十三章-磁盘文件操作(IO系统)PPT课件_第2页
C与C--程序设计-第十三章-磁盘文件操作(IO系统)PPT课件_第3页
C与C--程序设计-第十三章-磁盘文件操作(IO系统)PPT课件_第4页
C与C--程序设计-第十三章-磁盘文件操作(IO系统)PPT课件_第5页
已阅读5页,还剩20页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1、13章磁盘文件操作(I/O系统),2,13.1文件概述13.2控制台I/O 13.3 ANSI文件I/O系统,3,13.1.1 C文件的概念文件(file)使用了计算机技术中的文档一词,我们多次使用。从操作系统的角度看,连接到主机的输入/输出设备也被视为文件。13.1文件概述、4,13.1.2流概念ANSI C中的文件系统适用于各种设备,如终端、磁盘和磁带。根据文件存储格式的不同,有两种类型的流:文本流和二进制流。1.文本流文本流是ASCII代码字符序列。根据特定环境的需要,可以有要转换的文字。2.二进制流二进制流是一组字节序列。设备之间与传递的数据存在一对一的对应关系。也就是说,没有文

2、字转换。5,13.1.3缓冲文件系统和无缓冲文件系统c语言支持两种文件系统:缓冲文件系统和无缓冲文件系统。缓冲文件系统是指在I/O操作中,系统自动打开每个打开文件的内存缓冲区。无缓冲文件系统是指系统不自动打开内存缓冲区,而是在程序本身中为每个文件设置缓冲区。6,13.2控制台I/O,13.2.1简单控制台I/O函数1。在读/写字符表中,读/写字符的四个函数的原型是int getche(void)。int puthar(int);int getchar(void);int getch(void);函数getchar()是函数getche()的变体。因为必须输入回车,所以函数返回后可以在输入流中留

3、下字符。7,2。读写字符串控制台读写字符串中使用的函数是gets()和puts()。原型是char *gets(char *)。int puts(char *);在头文件stdio.h中介绍。Gets()函数从键盘读取字符串,并将其放在指针参数指定的地址上。Puts()函数可在屏幕上显示字符串,后跟新的行文字。8,13.2.2格式控制台I/O除了上述简单控制台I/O函数外,标准库还具有两种格式输入和输出函数:printf()和scanf()。9,13.2.3标准设备文件和I/O更改输入和输出操作中,常规输入设备是键盘,输出设备是显示器。这是系统规定,这些设备称为标准设备。标准设备文件的切换操作

4、是在运行用户程序文件时使用更改运算符完成的。有两个更改方向操作符:更改标准输出文件方向。10,13.3 ANSI文件I/o系统、ANSI文件I/o系统、缓冲文件I/o系统。它由几个相互关联的函数组成。11,13.3.1文件结构类型和文件指针首先引入了新的数据类型文件结构类型。ANSI文件I/O系统中使用的每个文件都在内存中打开一个区域,您可以在其中存储有关文件的信息,例如文件名、文件状态、文件缓冲区位置以及当前读和写位置。指向文件结构的指针称为文件指针。文件指针变量定义的典型格式为FILE *文件指针名称。12,13.3.2打开文件和关闭文件操作的典型过程是关闭文件打开操作文件。打开文件是将一

5、个流连接到同一文件,以便执行文件输入和输出操作。13,1。文件打开函数fopen()打开文件是通过fopen()函数实现的。此函数执行两个功能:首先,打开流并将其与需要打开的同一文件相关联。其次,返回文件的文件指针。Fopen()函数的原型为file * fopen (char * filename,char * mode)。14,以“R”模式打开的文件只能用于将数据导入计算机(读取文件),不能将数据导出到文件(写入文件)。在此模式下,要打开的文件必须已存在。否则,打开时会出错。以“W”模式打开的文件只能用于向文件写入数据,不能用于向计算机输入数据。以“a”模式打开的文件可以向文件末尾添加数据

6、。用“r”、“w”和“a”打开的文件可以用作写入或读取。15,2。关闭文件函数fclose()函数fclose()用于关闭使用fopen()打开的文件。函数fclose()的原型是int fclose(FILE *fp)。其中FP是调用fopen()时返回的文件指针。读取和写入16,13.3.3文件1。函数fgetc()和fputc(函数getc()和putc()函数fgetc()函数提供从指定文件读取字符的功能。该基本体是int getc(File *fp)。Fp是文件指针。17函数fputc()此函数的功能是将字符写入指定文件。原型是int putc(int ch,FILE *fp)。其中

7、FP是文件指针,ch是文本变量,值是要写入文件的字符。18,2。您可以二进制模式打开文件,以便应用于函数feof()、ferror()和rewind()的应用程序(1)函数feof()文本文件和二进制文件。(2)函数ferror() ferror()函数来检查文件操作是否有错误。(3)函数rewind() rewind()函数用于将参数表示的文件指针放在文件的开头。19,3。函数getw()和putw()函数getw()和putw()分别用于读取和写入磁盘文件中的整数。20,4。函数fgets()和fputs()函数fgets()和fputs()分别是用于读取和写入磁盘文件的字符串,其原型为C

8、har * fputs(Char * str)Char * fgetsFgets()函数从指定流中读取字符串,直到找到新行或读取了足够的length-1个字符。21,5。函数fread()和fwrite()函数fread()和函数fwrite()分别用于读取和写入数据块(数据集)。原型为unsigned fread (void * buffer,intnum _ bytes,intcount,file * FP)。Unsigned fwrite (void * buffer、intnum _ bytes、intcount、file * FP);22,6。函数fprintf()和fscanf()

9、的磁盘文件格式I/O操作是通过fprintf()和fscanf()函数执行的。与Printf()和scanf()函数类似,不同之处在于它们在磁盘文件上工作,而不是在控制台上工作。函数fprintf()和fscanf()的原型是intfprintf (file * FP,char * control _ string,);Intfscanf (file * FP、char * control _ string、);23,13.3.4文档位置和文档随机访问1。函数rewind()函数的原型如下:void rewind(FILE *fp) 2。函数fseek()函数的原型如下:intff,24,3。函数ftell()会在程式执行期间,根据对档案的操作,经常变更档案的位置指标。有时,指针当前指向的位置未知。Ftell()函数用于获取文件的当前操作

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论