计算机操作系统复习资料-第9章.ppt





《计算机操作系统复习资料-第9章.ppt》由会员分享,可在线阅读,更多相关《计算机操作系统复习资料-第9章.ppt(43页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言程序设计第9章 文件系统1 1C语言程序设计本章学习内容v文件的基本知识vC语言中文件的使用方法v文件的打开/关闭v文件的读/写v文件指针的定位v文件出错的检测文件的操作2 2C语言程序设计本章学习目标v掌握文件的基本知识 v掌握文件类型指针的使用方法 v掌握文件打开/关闭的方法 v掌握文件读/写的一般方法 v了解文件定位v了解文件出错检测方法3 3C语言程序设计1.文件的基本知识next partv基本概念:文件、流v文件的分类 gogo4 4C语言程序设计v基本概念:文件、流return(1)文件(2)流如果文件中的数据是以字节为单位顺序组织的,则把这类文件称为流式文件,简称流。存储
2、在外部存储介质上的数据集合 操作系统通过文件名(包括路径)对数据进行管理5 5C语言程序设计v文件的分类return 对于流式文件,按照数据的存储形式分:(1)文本文件:每个字符占一个字节,以ASC码存储(2)二进制文件:数据按其在内存中的存储形式原样存放到文件中图示说明6 6return 例:int型数 10000内存中存储形式00100111 00010000在二进制文件中数据的存储形式00100111 0001000000110001 00110000 00110000 00110000 00110000在ASC码文件中数据的存储形式(1)(0)(0)(0)(0)特点:便于对字符操作;存
3、储量大、速度慢特点:存储量小、速度快、便于存放中间结果7 7C语言程序设计2.C语言中文件的使用方法next partC语言中借助文件类型指针和一组标准库函数来实现对文件的操作。(1)文件类型FILE(2)文件类型指针(3)说明gogogo8 8C语言程序设计(1)文件类型FILEreturn 缓冲文件系统为每个正使用的文件在内存开辟文件信息区 文件信息用系统定义的FILE类型的结构体变量描述 FILE定义在stdio.h中结构体类型FILE的定义9 9typedef struct shortlevel;unsigned flags;charfd;unsigned char hold;shor
4、tbsize;unsigned char*buffer;unsigned char*curp;unsignedistemp;shorttoken;FILE;return/*fill/empty level of buffer*/*文件状态标志 */*文件描述符 */*Ungetc char if no buffer*/*缓冲区大小*/*数据传输缓冲区*/*当前激活指针*/*临时文件指示器*/*用于合法性校合*/1010C语言程序设计(2)文件类型指针return c语言中通过定义文件类型指针来操作文件。具体过程如下:定义文件类型指针 FILE*fp;按指定方式打开文件,使fp和文件建立关联 通
5、过fp对文件进行读写等操作 关闭文件,断开fp和文件的关联文件名文件使用方式文件类型指针C程序操作系统磁盘1111C语言程序设计(3)说明return C程序在启动时会自动创建三个文件指针,并使之与标准设备文件建立关联:文件指针stdin 与标准输入设备(键盘)关联 文件指针stdout 与标准输出设备(显示器)关联 文件指针stderr 与标准输出设备(显示器)关联1212C语言程序设计3.文件的操作next partv打开/关闭v读/写v定位v错误检测gogogogo1313C语言程序设计return v打开/关闭(1)fopen()(2)fclose()函数原型 函数原型 实例 1414
6、关闭fp所指向的文件;若有错,返回非0;否则返回0return FILE*fopen(const char*filename,const char*mode);(1)fopen()以参数mode指定的方式打开参数filename指定的文件。若成功,返回一个文件指针,指向该文件;否则,返回NULL(即0)文件打开方式(2)fclose()int fclose(FILE*fp);调用时,实际参数可以是:字符串常量、字符数组名、字符指针1515return 文件使用方式含义“r”/”rb”(只读)为输入打开一个文本/二进制文件“w”/”wb”(只写)为输出打开或建立一个文本/二进制文件“a”/”ab
7、”(追加)向文本/二进制文件尾追加数据“r+”/”rb+”(读写)为读/写打开一个文本/二进制文件“w+”/”wb+”(读写)为读/写建立一个文本/二进制文件“a+”/”ab+”(读写)为读/写打开或建立一个文本/二进制文件P293:表9-11616return#include int main()FILE*fp;fp=fopen(roll.xls,w);fclose(fp);return 0;if(fp=NULL)printf(cannot open roll.xlsn);exit(0);#include 1717C语言程序设计return v读/写(1)fgetc()、fputc()(2)
8、fgets()、fputs()(3)fscanf()、fprintf()(4)fread()、fwrite()(5)feof()go go go go go 1818return fgetc()int fgetc(FILE*fp);int fputc(char ch,FILE*fp);从fp指向的文件中读取一个字符。若读取成功,则返回读入的字符的ASC码;否则,返回EOF(即-1)将参数ch中的字符输出到fp指向的文件。若成功,则返回该字符的ASC码;否则返回EOF(即-1)fputc()实例 1919return fgetc()和fputc()使用实例:例1:从键盘输入字符存到文件a.txt
9、中,直到输入#为止例2:把文件a.txt的内容显示到屏幕上例3:把文件a.txt的内容拷贝到文件b.txt中go go go 2020return 例1:从键盘输入字符存到文件a.txt中,直到输入#为止#include#include int main()FILE*fp;char ch;if(fp=fopen(a.txt,w)=NULL)printf(cannot open filen);exit(0);从键盘输入字符并存入文件a.txt fclose(fp);return 0;打开或创建磁盘文件关闭文件printf(Please input string:);ch=getchar();wh
10、ile(ch!=#)fputc(ch,fp);ch=getchar();2121return 例2:把文件a.txt的内容显示到屏幕上#include#include int main()FILE*fp;char ch;if(fp=fopen(a.txt,r)=NULL)printf(cannot open filen);exit(0);从文件a.txt中读入内容并显示在屏幕上 fclose(fp);return 0;while(ch=fgetc(fp)!=EOF)putchar(ch);ch=fgetc(fp)ch!=EOF2222return 例3:把文件a.txt的内容拷贝到文件b.tx
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 操作系统 复习资料

限制150内