c语言第十三章.pptx
文本预览下载声明
13.1 C文件概述文件:存储在外部介质上数据的集合,是操作系统数据管理的单位使用数据文件的目的1、数据文件的改动不引起程序的改动——程序与数据分离2、不同程序可以访问同一数据文件中的数据——数据共享3、能长期保存程序运行的中间数据或结果数据文件分类按存储介质:普通文件:存储介质文件(磁盘、磁带等)设备文件:非存储介质(键盘、显示器、打印机等)按数据的组织形式:文本文件: ASCII文件,每个字节存放一个字符的ASCII码二进制文件:数据按其在内存中的存储形式原样存放按文件的逻辑结构:记录文件:由具有一定结构的记录组成(定长和不定长)流式文件:由一个个字符(字节)数据顺序组成如int型数10000ASCII形式001100010011000000110000001100000011000000100111000100000010011100010000内存存储形式二进制形式文本文件特点:存储量大、速度慢、便于对字符操作二进制文件特点:存储量小、速度快、便于存放中间结果缓冲文件系统:程序指令区输入文件缓冲区磁盘文件用户数据区磁盘程序数据区a缓冲区输出文件缓冲区非缓冲文件系统:文件处理方法缓冲文件系统:高级文件系统,系统自动为正在使用的文件开辟内存缓冲区非缓冲文件系统:低级文件系统,由用户在程序中为每个文件设定缓冲区 13.2 文件类型指针文件结构体FILE 缓冲文件系统为每个正使用的文件在内存开辟文件信息区文件信息用系统定义的名为FILE的结构体描述FILE定义在stdio.h中typedef struct{ int _fd;//文件号 int _cleft;//缓冲区中剩下的字符数 int _mode;//文件操作方式 char *_next; //文件当前读写位置 char *_buff; //文件缓冲区位置}FILE; FILE f[5];文件名文件使用方式操作系统C程序文件类型指针磁盘文件类型指针指针变量说明: FILE *fp;用法:文件打开时,系统自动建立文件结构体,并把指向它的指针返回来,程序通过这个指针获得文件信息,访问文件文件关闭后,它的文件结构体被释放含义文件使用方式“r/rb” (只读)为输入打开一个文本/二进制文件“w/wb” (只写)为输出打开或建立一个文本/二进制文件“a/ab” (追加)向文本/二进制文件尾追加数据“r+/rb+” (读写)为读/写打开一个文本/二进制文件“w+/wb+” (读写)为读/写建立一个文本/二进制文件“a+/ab+” (读写)为读/写打开或建立一个文本/二进制文件 13,3文件的打开与关闭C文件操作用库函数实现,包含在stdio.h文件使用方式:打开文件--文件读/写--关闭文件系统自动打开和关闭三个标准文件:标准输入------键盘stdin标准输出------显示器stdout标准出错输出-----显示器stderr13.3.1打开文件fopen函数原型: FILE *fopen(文件名,使用文件方式)例 文件打开与测试 FILE *fp; fp=fopen(“aa.c”,“w”); if(fp==NULL) { printf(“File open error!\n”); exit(0); }例 FILE *fp; char *filename=“c:\\fengyi\\bkc\\test.dat” fp= fopen(filename,”r”); 例 FILE *fp; fp= fopen (“c:\\fengyi\\bkc\\test.dat”,”r”); 使用文件方式功能:按指定方式打开文件返值:正常打开,为指向文件结构体的指针;打开失败,为NULL要打开的文件名缓冲文件系统:输入文件缓冲区磁盘文件程序数据区afclose输出文件缓冲区13.3.2文件关闭fclose作用:使文件指针变量与文件“脱钩”,释放文件结构体和文件指针函数原型:int fclose(FILE *fp)功能:关闭fp指向的文件返值:正常关闭为0;出错时,非0(EOF,值为-1)文件打开时返回的文件类型指针不关闭文件可能会丢失数据 13.4 文件的读写13.4.1字符I/O:fputc与fgetc(putc和getc)1.fputc函数原型:int fputc(char c, FILE *fp)功能:把一字符c写入fp指向的文件中返值:正常,返回c;出错,为EOF(-1)2.fgetc函数原型:int fgetc(FILE *fp)功能:从fp指向的文件中读取一字节代码返值:正常,返回读到的代码值;读到文件尾或出错,为EOF 文件I/O与终端I/O#define putc(ch,fp) fputc(
显示全部