下载此文档

C语言 第十一章.ppt


文档分类:IT计算机 | 页数:约31页 举报非法文档有奖
1/31
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/31 下载此文档
文档列表 文档介绍
第十章文件§ C 文件概述?文件:存储在外部介质上数据的集合,是操作系统数据管理的单位. 形式:主文件名[.扩展名] 使用数据文件的目的 1、数据文件的改动不引起程序的改动——程序与数据分离 2、不同程序可以访问同一数据文件中的数据——数据共享 3、能长期保存程序运行的中间数据或结果数据§文件分类§按文件的逻辑结构: §记录文件:由具有一定结构的记录组成(定长和不定长) §流式文件:由一个个字符(字节)数据顺序组成§按存储介质: §普通文件:存储介质文件(磁盘、磁带等) §设备文件:非存储介质(键盘、显示器、打印机等) §按数据的组织形式: §文本文件: ASCII 文件,每个字节存放一个字符的 ASCII 码§二进制文件:数据按其在内存中的存储形式原样存放如 int 型数 10000 00100********** 内存存储形式 00100********** 二进制形式 0011000100110000001100000011000000110000 ASCII 形式文本文件特点:存储量大、速度慢、便于对字符操作二进制文件特点:存储量小、速度快、便于存放中间结果?文件处理方法?缓冲文件系统:高级文件系统,系统自动为正在使用的文件开辟内存缓冲区?非缓冲文件系统:低级文件系统,由用户在程序中为每个文件设定缓冲区磁盘文件输出文件缓冲区输入文件缓冲区程序数据区 a 缓冲文件系统: 缓冲区指令区程序用户数据区磁盘非缓冲文件系统: § 文件类型指针?文件结构体 FILE ?缓冲文件系统为每个正使用的文件在内存开辟文件信息区?文件信息用系统定义的名为 FILE 的结构体描述? FILE 定义在 中 typedef struct { int _fd; // 文件号 int _cleft; // 缓冲区中剩下的字符数 int _mode; // 文件操作方式 char * _next; // 文件当前读写位置 char * _buff; // 文件缓冲区位置}FILE; ?文件类型指针?指针变量说明: FILE * fp; ?用法: ?文件打开时,系统自动建立文件结构体,并把指向它的指针返回来,程序通过这个指针获得文件信息,访问文件?文件关闭后,它的文件结构体被释放文件名文件使用方式文件类型指针 C程序操作系统磁盘§ 文件的打开与关闭? C文件操作用库函数实现,包含在 ?文件使用方式:打开文件--> 文件读/写--> 关闭文件?系统自动打开和关闭三个标准文件: ?标准输入------ 键盘 stdin ?标准输出------ 显示器 stdout ?标准出错输出----- 显示器 stderr ?打开文件 fopen ?函数原型: FILE * fopen (char * name ,char * mode ) §功能:按指定方式打开文件§返值:正常打开,为指向文件结构体的指针;打开失败,为 NULL 要打开的文件名使用文件方式例文件打开与测试 FILE * fp; fp=fopen( “ ”,“w”); if(fp==NULL) { printf( “ File open error!\n ”); exit(0); } 例 FILE * fp; fp= fopen ( “ c:\\fengyi\\bkc\\ ”,”r”); 例 FILE * fp; char * filename= “ c:\\fengyi\\bkc\\ ” fp= fopen(filename, ”r”); “ r+/rb+ ”(读写) “ a/ab ”(追加) “ w/wb ”(只写) “ r/rb ”(只读)“ w+/wb+ ”(读写)“ a+/ab+ ”(读写) 为输入打开一个文本/二进制文件为输出打开或建立一个文本/二进制文件为读/写打开一个文本/二进制文件为读/写建立一个文本/二进制文件为读/写打开或建立一个文本/二进制文件向文本/二进制文件尾追加数据文件使用方式含义?文件关闭 fclose ?作用:使文件指针变量与文件“脱钩”,释放文件结构体和文件指针?函数原型: int fclose(FILE * fp) §功能:关闭 fp指向的文件§返值:正常关闭为 0;出错时,非0 文件打开时返回的文件类型指针磁盘文件输出文件缓冲区输入文件缓冲区程序数据区 a 缓冲文件系统

C语言 第十一章 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数31
  • 收藏数0 收藏
  • 顶次数0
  • 上传人mh900965
  • 文件大小326 KB
  • 时间2017-02-19