c语言第九章 文件PPT教学课件
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
缓冲区输出文件缓冲区
2020/12/09
3
❖文件类型指针:在对文件进行操作时,必须定义一个文件指针
变量,只有通过文件指针变量,才能对文件进行访问。
– 文件结构体FILE
• 缓冲文件系统为每个正使用的文件在内存开辟文件信 息区
• 文件信息用系统定义的名为FILE的结构体描述 • FILE定义在stdio.h中
例例输读并文入文显件‘本示•拷文#fe贝“–––o为件f函功返止内数能值容原::,型判文:断件文 结in件 束t {是 ,{fci{}i{}we#m{}判否 返ssffhFFci{}pcw{}foicchppeefac((nahh结 回rIIFci{}wfaa断(f((xxirrhfilw{}icfLrLca(=lhinno(iinopIn(iiipefhln束 真nnlrFLcttEEflpca(ffugh(suu二ptor((eipeptt((f)fheh(rceute=iEltIid00ff=s(""p((x!rul*e*cn(,h((x=Ltte=c"ce))进%%efii=ffci""c((ctifft;;*n,nie(P非hhogt(p…cnf(f*EpoCChthf=<f(f!oftss]g(c,!p(el()o制,p0“;poaffa*p,"ef0""s0=aac;fheteo(ep…*o)rg)repct(,,)“c;annh)"t='n;(*iod;o(uie文#ouneaoc;ehsncnn),nc(fuiftnf;.'etnut((n;uaaf)o]h,oog(.)c.ppiit("件int;(rtnf)tnnfi.)tte(,l;文)xw.o(ph)nio”;efntf;)t)判ooltupx)>cpri,是t;eo"”件pp)l";t()tuo))oe;tf”)断fee;);tu未,i否p)po;=nnl=t"see)p文=)结t)roi=n,结e;rn!"Nu"iNn=)束ff本nwt)束UiiEfUgf=ll,ieei"文OL:l=lL)."\ee\返nL)F).Ln\N=件\;"n))n"回))=U")";是);)0NL;; L否U)L结L束)
• fgetc
– 函数原型:int fgetc(FILE *fp)
– 功能:从fp指向的文件中读取一字节代码 – 返值:正常,返回读到的代码值;读到文件尾或出错,为EOF
2020/12/09
8
例 从键盘输入字符,逐个 ##iinncclluuddee<<ssttddiioo.h.h>>
存到磁盘文件中,直到 mmaaiinn(())
缓冲文件系统:
不关闭文件可能会丢失数据
输入文件缓冲区
程序数据区
磁盘文件
a
2020/12/09
输出文件缓冲区 fclose
7
• 10.4 文件的读写
– 字符I/O:fputc与fgetc
• fputc
– 函数原型:int fputc(int c, FILE *fp)
– 功能:把一字节代码c写入fp指向的文件中 – 返值:正常,返回c;出错,为EOF
2020/12/09
二进制文件特点: 存储量小、速度快
2
❖文件处理方法
• 缓冲文件系统:高级文件系统,系统自动为正在使用 的文件开辟内存缓冲区
• 非缓冲文件系统:低级文件系统,由用户在程序中为 每个文件设定缓冲区
缓冲文件系统: 非缓冲文件系统:
程序 输入文件缓冲区
指令区
程序数据区 用a 户数据区
磁盘文件 磁盘
typedef struct
{ int _fd; //文件号
int _cleft; //缓冲区中剩下的字符数
int _mode; //文件操作方式
char *_next; //文件当前读写位置
char *_buff; //文件缓冲区位置
2020/12/09 }FILE;
4
百度文库
– 文件类型指针
• 指针变量说明: FILE *fp;
• 按数据的组织形式:
– : ASCII文件,每个字节存放一个字符的ASCII码 – 二进制文件:数据按其在内存中的存储形式原样存放
2020/12/09
1
文本文件特点: 存储量大、速度慢、便于对字符操作
如 int型数10000 10000 内存存储形式
1110000 10000
ASCII形式
二进制形式
“a+/ab+” (读写)
为读/写打开或建立一个文本/二进制文件
2020/12/09
6
– 文件关闭fclose
• 作用:使文件指针变量与文件“脱钩”,释放文件结构 体和文件指针
• 函数原型:int fclose(FILE *fp)
• 功能:关闭fp指向的文件 • 返值:正常关闭文为件0打;出开错时时返,回非的0 文件类型指针
• 11.1 C
第11章 文件
❖文件:存储在外部介质上的具有文件名的数据的 集合,是操作系统数据管理的单位
使用数据文件的目的 1、数据文件的改动不引起程序的改动——程序与数据分离
2•、按不文同件程序的可逻以辑访结问构同一:数据文件中的数据——数据共享
3、能–程记序录运文行件的:中由间具数有据一或定结结果构数的据记录组成(定长和不定长) – 流式文件:由一个个字符(字节)数据顺序组成
• 用法:
– 文件打开时,系统自动建立文件结构体,并把指向它的指针 返回来,程序通过这个指针获得文件信息,访问文件
– 文件关闭后,它的文件结构体被释放
文件名
C程序
文件使用 方式
操作系统
文件类型指针
2020/12/09
磁盘
5
• 11.2 文件的打开与关闭
C文件例操作文件用打库开函与数测实试现,包含在stdio.h 文件使用F方ILE式:*打fp开; 文件-->文件读/写-->关闭文件 ““–“w““r文w+ar+打////件r/a••rwwb•bb”b+使”功返开b开函例”(”+(只用追(”能值失(例只数文读(读方加读::败写写原Ff)件式)写pI))按正,Fcf=L型)pfhI{}Effio=指常为La:foprp(Efp=f*定 打Noepe*ffpeFpnonU=*p“xr方开I为epf;i=cLiL(nnpte:“N输为(E式,\t(L;n为c向0\f,为fU(”(:出输要)e“\读“打为r文;\Lna读”f打入*e打/ag)eL本开指写fr;/.ny开打or写)c开o/gi打p”文向二\含或开r建y\e,!“b开的i进n\件文义建一\w立kn(\一bc制c”文”立个一件\hk))个\;文;act一文件个e结\r文\件s个本t文名t*e构.本尾ds文/n本二ta/a体.追二本td/m进”二a加进的/et二制进”,数制c,指进文”制h使据r文a制”件针文r)件用;文*件;m文件打o件de方) 式