1、文件概述 缓冲文件系统 非缓冲文件系统 第第章章1111文文 件件11.1.1 文件的概念11.1.2 文件的分类11.1 11.1 文件概述文件概述11.1.3 缓冲文件系统和非缓冲文件系统第第章章1111文文 件件1、文件:存储在外部介质上的相关数据集合2、文件的操作:(1)文件操作命令。(2)文件系统功能调用。3、文件操作函数:标准的库函数 通过它们可以使用文件系统功能调用文件概述 缓冲文件系统 非缓冲文件系统 第第章章1111文文 件件(1)文本文件 指由字符组成的文件(2)二进制文件 指数据按存储原样组成的文件 文件概述 缓冲文件系统 非缓冲文件系统 第第章章1111文文 件件缓冲文
2、件系统:又称为标准文件系统或高层 文件系统,它与具体机器无关,通用性好,功能强,使用方便。非缓冲文件系统:又称为低层文件系统 与机器有关,使用较为困难 但节省内存,执行效率较高。文件概述 缓冲文件系统 非缓冲文件系统 11.2.1 缓冲文件系统基本概念11.2.2 缓冲文件的打开和关闭11.2 11.2 缓冲文件系统缓冲文件系统11.2.3 缓冲文件的读和写11.2.4 缓冲文件的定位第第章章1111文文 件件文件概述 缓冲文件系统 非缓冲文件系统 第第章章1111文文 件件 内存 缓冲区 磁盘文件 缓冲文件系统示意图缓冲文件系统示意图文件概述 缓冲文件系统 非缓冲文件系统 第第章章1111文
3、文 件件1、文件指针:通过该指针来对文件进行操作。2、文件的操作:一般的过程:说明一个文件指针 通过文件名打开文件,为文件指针赋值 通过文件指针对文件进行存取 通过文件指针关闭文件文件概述 缓冲文件系统 非缓冲文件系统 第第章章1111文文 件件3.【例】文件打开与关闭的一个实例。#include main()FILE*fp;if(fp=fopen(test.txt,w)=NULL)printf(文件文件test.txt打开失败打开失败!);exit(1);printf(文件文件test.txt成功打开成功打开!);/*此处可添加对文件的存取语句此处可添加对文件的存取语句*/fclose(fp
4、);文件概述 缓冲文件系统 非缓冲文件系统 第第章章1111文文 件件4、打开文件的标准库函数原型是:FILE*fopen(char*filename,char*mode);5、文件操作的符号常量#define EOF 1#define NULL 0#define BUFSIZ 512 6、关闭文件fclose(fp)关闭文件的标准库函数原型是:int fclose(FILE*fp);文件概述 缓冲文件系统 非缓冲文件系统 第第章章1111文文 件件1.1.检测文件结束检测文件结束 int feof(FILE*stream)2.2.以字符方式读写文件以字符方式读写文件(1)读字符函数 int
5、fgetc(FILE*stream)(2)写字符函数 int fputc(int c,FILE*stream)(3)将字符退回输入流函数 int ungetc(int c,FILE*stream)(4)读字符串函数 char*fgets(char*string,int n,FILE *stream)(5)写字符串函数 int fputs(char*string,FILE*stream)文件概述 缓冲文件系统 非缓冲文件系统 第第章章1111文文 件件3.3.文件的格式化输入与输出文件的格式化输入与输出(1)格式化输入函数int fscanfint fscanf(FILE(FILE*stream
6、,charstream,char *format,argument,)(2)格式化输出函数int fprintfint fprintf(FILE(FILE*stream,charstream,char *format,argument,)文件概述 缓冲文件系统 非缓冲文件系统 第第章章1111文文 件件4.4.二进制文件的输入与输出二进制文件的输入与输出(1)二进制输入函数unsinged freadunsinged fread(void(void*ptr,unsinged ptr,unsinged size,unsinged nitems,FILEsize,unsinged nitems,F
7、ILE *stream)stream)(2)二进制输出函数 unsinged fwriteunsinged fwrite(void(void*ptr,unsinged ptr,unsinged size,unsinged nitems,FILEsize,unsinged nitems,FILE *stream)stream)文件概述 缓冲文件系统 非缓冲文件系统 第第章章1111文文 件件(1)重置位置指针函数 void rewind(FILE*stream)(2)随机定位函数 int fseek(FILE*stream,long offset,int origin)(3)定位当前位置指针函数
8、 long ftell(FILE*stream)文件概述 缓冲文件系统 非缓冲文件系统 第第章章1111文文 件件11.3.1 非缓冲文件系统基本概念11.3.2 非缓冲文件的建立11.3 11.3 非缓冲文件系统非缓冲文件系统11.3.3 非缓冲文件的打开和关闭11.3.4 非缓冲文件的读和写11.3.5 非缓冲文件的定位文件概述 缓冲文件系统 非缓冲文件系统 第第章章1111文文 件件非缓冲文件系统:由用户自己设定文件建立缓冲 区别:缓冲文件系统:使用文件指针标识文件,非缓冲文件系统:使用文件描述字标识文件文件概述 缓冲文件系统 非缓冲文件系统 第第章章1111文文 件件建立文件函数:in
9、t creat(char*filename,int mode)其中,filename:指定的文件名mode:打开模式,可以取三种值:0 只读属性 1 隐藏属性 2 系统文件当文件创建失败时该函数返回-1文件概述 缓冲文件系统 非缓冲文件系统 第第章章1111文文 件件打开文件函数:int open(char*filename,int mode)filename:指定的文件名,mode:打开模式,可以取三种值:0 表示为读打开 1 表示为写打开 2 表示为读写打开。当文件打开失败时该函数返回-1关闭文件函数:int close(int handle)文件概述 缓冲文件系统 非缓冲文件系统 第第章
10、章1111文文 件件(1)读文件函数:int read(int handle,void*buf,int nbyte)(2)写文件函数:int write(int handle,void*buf,int nbyte)【注意】:在非缓冲文件系统中通过read函数 的返回值是否为0来判断文件的结束。文件概述 缓冲文件系统 非缓冲文件系统 第第章章1111文文 件件(1)移动文件指针函数:long lseek(int handle,long offset,int origin)设置handel所指文件的位置指针的新位置,该位置与origin指定的文件位置相距offset个字节。(2)获取文件指针位置函数:long tell(int handle)返回当前文件位置指针的位置,发生错误时该函数返回-1。文件概述 缓冲文件系统 非缓冲文件系统
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。