第12章大学C语言.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第12章大学C语言

第十二章 文件 12.1 C文件概述 文件:存储在外部介质上数据的集合,是操作系统数据管理的单位 一、文件分类 1、从用户的角度看,文件可分为普通文件和设备文件。 在C语言中文件的含义比较广泛,不仅包含传统意义上的文件,还包括设备文件。设备文件是指与主机相连的各种外部设备,如显示器、打印机、键盘等,键盘常称为标准输入文件,显示器称为标准输出文件及标准错误输出文件,从而把实际的物理设备抽象化为逻辑文件。 在C语言中,将磁盘文件和设备文件都作为相同的逻辑文件对待,这种在逻辑上的统一为程序设计提供了很大的便利,使得C语言标准函数库中的输入、输出函数既可以用来控制标准输入、输出设备,也可以用来处理磁盘文件。 一、文件分类 2、按数据的组织形式: 文本文件: ASCII文件,每个字节存放一个字符的ASCII码 二进制文件:数据按其在内存中的存储形式原样存放 二、缓冲文件系统 三、文件指针 C语言在头文件stdio.h中定义了类型标识符为FILE的结构体,用来存放与打开的文件有关的信息,如文件名、文件状态、数据缓冲区的位置、文件读写的当前位置等。 对文件的操作,是通过指向该文件结构体的指针变量(简称为文件指针)进行的。为此,C语言要求,在对一个文件进行处理时,需首先定义文件指针,程序后面对该文件的访问,均通过这个文件指针来实现。 文件指针 指针变量说明: FILE *fp; 用法: 文件打开时,系统自动建立文件结构体,并把指向它的指针返回来,程序通过这个指针获得文件信息,访问文件 文件关闭后,它的文件结构体被释放 12.2 文件的操作 C文件操作用库函数实现,包含在stdio.h 文件使用方式:打开文件--文件读/写--关闭文件 1、打开文件fopen 文件关闭fclose 作用:使文件指针变量与文件“脱钩”,释放文件结构体和文件指针 函数原型:int fclose(FILE *fp) 字符读写函数fgetc和fputc fputc 函数原型:int fputc(int c, FILE *fp) 功能:把一字节代码c写入fp指向的文件中 返值:正常,返回c;出错,为EOF 例12.1统计文本文件file1.txt中英文字母、数字、空格和其他字符的个数,在屏幕上输出结果。 例12.2将文本文件t1.txt中的字符复制到文件t2.txt中,并把t1.txt的文件内容显示在屏幕上。 数据块I/O:fread与fwrite 函数原型: 格式化I/O:fprintf与fscanf 函数原型: 12. 3 随机读写文件 1.fseek 函数 int fseek(FILE *fp,long d,int pos) fp是文件指针,d是位移量,pos是起始点。 pos的取值为: 0 :文件开始处 1 :文件的当前位置 2 :文件的尾部 位移量d是long型的数据,可以为正或负值。表示从起始点向下或向上的指针移动。函数的返回值若操作成功为0,操作失败为非零。 例如:fseek(fp,5L,0);将文件指针从文件头向下移动5个字节。 fseek(fp,-10L,1);将文件指针从当前位置向上移动10个字节。 2.rewind函数 rewind函数强制将文件指针移动到文件头。 高级程序设计语言C 天津城建学院电子与信息工程系 在程序中使用数据文件的目的: (1) 数据文件的改动不引起程序的改动,可实现程序与数据分离; (2) 不同程序可以访问同一数据文件中的数据,可实现数据共享; (3) 能长期保存程序运行的中间数据或结果数据,可实现一次输入多次使用和运行结果随时查看。 C语言中的文件为流式文件,即把文件看作是一个字节序列 。 如 int型数10000 0010011100010000 内存存储形式 0010011100010000 二进制形式 0011000100110000001100000011000000110000 ASCII形式 文本文件特点: 文本文件便于对字符进行逐个处理,也便于输出字符;缺点是占存储空间较多,而且在输入输出时要花费转换时间。 二进制文件特点: 存储量小、速度快、便于存放中间结果 程序数据区 输出文件缓冲区 输入文件缓冲区 磁盘 文件 函数原型: FILE *fopen(char *name,char *mode) 要打开的文件名 使用文件方式 功能:按指定方式打开文件 返值:正常打开,为指向文件结构体的指针;打开失败,为NULL “r+/rb+” (读写) “a/ab” (追加) “w/wb” (只写) “r/rb” (只读) “w+/wb+” (读写) “a+/ab+” (读写) 为输入打开一个文本/二进制文件 为输出打开或建立一个文本/二进

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档