网站大量收购闲置独家精品文档,联系QQ:2885784924

《C语言程序设计》第9章文件操作.ppt

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第9章 文件操作 9.1 文件系统的概念 9.1.1 C文件概述 所谓“文件”一般指存储在外部介质上数据的集合。 C语言把文件看作一个字节序列,即由一连串的字节组成,称为“流(stream)”,以字节为单位访问,没有记录的界限。输入输出字符流的开始和结束只由程序控制而不受物理符号(如回车符)的控制。因此也把这种文件称作“流式文件”。 按文件中数据的组织形式来分: 文本文件 每一个字节存放一个ASCII码,代表一个字符。由文本行组成,并以换行符‘\n’结尾,有文件结束标志。 二进制文件 把数据按其在内存中的存储形式原样存放在磁盘上,一个字节并不对应一个字符。 例: 9.1.2缓冲文件系统 C语言使用的文件系统分为缓冲文件系统(标准I/O)和非缓冲文件系统(系统I/O)。ANSI C 标准不再采用非缓冲文件系统。本章主要介绍缓冲文件系统中文件的操作。 9.2 文件的打开与关闭 文件操作的过程:对磁盘文件的操作必须“先打开,后读写,最后关闭”。 9.2.1 文件类型指针 在操作文件时,C语言利用一个结构体类型的变量存放文件的信息。该变量的结构体类型由系统取名为FILE。 用一个指针变量指向指向存放该文件信息的结构体类型变量,这个指针称为文件指针。定义形式: FILE *指针变量标识符; 9.2.2 文件的打开 一般形式为: 文件指针名=fopen(文件名,使用文件方式); 其中: “文件指针名” 是指向FILE类型的指针变量。 “文件名”是被打开文件的文件名,可以是字符串常量或字符数组。 “使用文件方式”是指文件的类型和操作要求。 例如: FILE *fp; fp=fopen(c:\\tc\\source.dat ,r); 说明: 打开方式带上“b”表示是对二进制文件进行操作。带上“+”表示既可以读,又可以写,而对待文件存在与否的不同处理则按照“r”、“w”、“a”各自的规定。 若打开失败,fopen都返回一个空指针NULL。文件打开可能出现的错误有: 试图以“读”方式(带“r”的方式)打开一个并不存在的文件。 新建文件,而磁盘上没有足够的剩余空间或磁盘被写保护。 试图以“写”方式,打开 “只读” 文件。 FILE *fp; fp=fopen(c:\\tc\\source.dat ,r); ┇ /* 此处开始对文件读*/ 若打开失败,fp指针变量里面是空指针NULL,对空指针的读写操作会出错。 9.2.3 文件的关闭(fclose函数) 文件使用完后,为确保文件中的数据不丢失,都要使用文件的关闭函数fclose进行关闭,其调用形式: fclose(文件指针变量); 功能:关闭一个由fopen()函数打开的文件。例如:fclose(fp); 前面例子中,把fopen函数返回的指针赋值给fp,现在用fclose函数使文件指针fp与文件脱离,同时刷新文件输入/输出缓冲区。 9.3 文件的读写 打开文件后都会返回该文件一个文件类型指针(fp),程序中就是通过这个指针执行对文件的读和写。 在C语言中提供了多种文件读写的函数: 字符读写函数:fgetc和fputc 字符串读写函数:fgets和fputs 数据块读写函数:fread和fwrite 格式化读写函数:fscanf和fprinf 上面的文件读写函数均是指顺序读写,即读写了一条信息后,文件读写位置指针自动指向下一个读写单元。 读文件时注意不要超过文件末尾: 对于文本文件,由于它的结束标记是EOF(即-1)因此可通过读取的字符是不是结束标志来判断。 对于二进制文件,由于没有EOF的结束标志,使用系统提供的feof()函数来判断 feof()的使用格式是:feof(fp); 其中,fp是文件指针变量,如果文件读取结束则返回非0值,没结束返回0。 while( !feof(fp)) { … /* 此处写入读操作语句 */ } 文本文件也可使用feof()函数按上面来的形式来判断是否读取结束。 9.3.2字符读写函数 1.字符读函数fgetc() 功能是从指定的文件中读一个字符,函数调用的一般形式为: 字符变量=fgetc(文件指针); 例如:ch=fgetc(fp); 2.字符写函数fputc() 将一个字符写入到文件中,调用的一般格式如下:fputc(ch,fp); fputc函数也有返回值,若写操作成功,则返回一个向文件所写字符的值;否则返回EOF,表示写操作失败。 9.3.3 字符串读写函数 1.字符串读函数f

文档评论(0)

junjun37473 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档