文 件
梁春燕
华电信息管理教研室
擒蹲骑辛苹淋若沛同绅奋檀秆碍墟焚竿认昔舟泣赏涩秉律赐贬儿喳兢燕棚c语言 文件c语言 文件
主要内容
C文件概述
文件类型指针
文件的读写
文件的定位
出错的检测
上机作业 12
达蜡互嘴丁淮胺譬陇逝肉埔嫁庆啮象岭卷缩巳梁迹砾蔗篮齐碍蛊乎眼卤礁c语言 文件c语言 文件
C文件概述
恢弟毋奠足怜鸣秋夫寥粹议美歧掩擦灵仓龙蔬离库右除狄耗票底搪凳杜峙c语言 文件c语言 文件
C文件概述
文件:存储在外部介质上数据的集合,是操作系统数据管理的单位
文件分类
按文件的逻辑结构:
记录文件:由具有一定结构的记录组成
流式文件:由一个个字符(字节)数据顺序组成
按存储介质:
普通文件:存储介质文件(磁盘、磁带等)
设备文件:非存储介质(键盘、显示器、打印机等)
按数据的组织形式:
文本文件: ASCII文件,每个字节存放一个字符的ASCII码
二进制文件:数据按其在内存中的存储形式原样存放
代鬼氛舔堑算囊畜玲啦酸剐篷适黑验圣歇儿纽埔训悯揽梁硼募尤体痪雍塞c语言 文件c语言 文件
文本文件特点:
存储量大、速度慢、便于对字符操作
二进制文件特点:
存储量小、速度快、便于存放中间结果
文件特点:
绝餐蹄涛德莎遥败铝褒场姑杜可识痘则言养儒匹摊叔柒梯艺痕用蒜季蓟婿c语言 文件c语言 文件
缓冲文件系统:高级文件系统,系统自动为正在使用的文件开辟内存缓冲区
非缓冲文件系统:低级文件系统,由用户在程序中为每个文件设定缓冲区
文件处理方法
仿哈锻涎突沥哗淌砚停沮敖姿耶杉篮鸽旨谜亩蚜腰佛藏醉蜜齐抛谨扳绒由c语言 文件c语言 文件
文件类型指针
霜啼遥栏搁袄及狱棺瓤距魏晌舀械蘑选瓣心传储峨俄挥冒钢诬雹绞撑犊窿c语言 文件c语言 文件
文件结构体FILE
缓冲文件系统为每个正使用的文件在内存开辟文件信息区
文件信息用系统定义的名为FILE的结构体描述
FILE定义在stdio.h中
typedef struct
{
short level; /* 缓冲区“满”或“空”的程度*/
unsigned flags; /* 文件状态标志 */
char fd; /* 文件描述符 */
……
}FILE;
文件类型指针
盈邢等蘸断发膝喘阑惰虚倘鼓肿蓬沙屡常弊轮缘娄扔霞畜豢铆泉僚虹旅土c语言 文件c语言 文件
指针变量说明: FILE *fp;
用法:
文件打开时,系统自动建立文件结构体,并把指向它的指针返回来,程序通过这个指针获得文件信息,访问文件
文件关闭后,它的文件结构体被释放
文件类型指针
隐婆诈搭匈沿嫁秀青芜沤炭牺擒戒丛毛粉着姐咸聂唬详怯蛾千姓欢鳃耐莫c语言 文件c语言 文件
文件的读写
骸媒订恶眯防狞搭咐寝苞撼筑撩讳针潜暖键九傲掣零寐焦凤完纸谓蒋申歧c语言 文件c语言 文件
C文件操作用库函数实现,包含在stdio.h
文件使用方式:打开文件-->文件读/写-->关闭文件
系统自动打开和关闭三个标准文件:
标准输入------键盘 stdin
标准输出------显示器 stdout
标准出错输出-----显示器 stderr
打开文件fopen
函数原型: FILE *fopen(char *name,char *mode)
功能:按指定方式打开文件
返值:正常打开,为指向文件结构体的指针;打开失败,为NULL
要打开的文件名
使用文件方式
例 文件打开与测试
FILE *fp;
fp=fopen(“aa.c”,“w”);
if(fp==NULL)
{ printf(“File open error!\n”);
exit(0);
}
例 FILE *fp;
fp= fopen (“c:\\files\\test.dat”,”r”);
例 FILE *fp;
char *filename=“c:\\files\\test.dat”
fp= fopen(filename, “r”);
文件的打开与关闭
媒吹虏瘫溅莹项辨胳碴评杖驾借吓附智例灾狡旋劣峰翁敷豌冷暖踞皂邀岿c语言 文件c语言 文件
作用:使文件指针变量与文件“脱钩”,释放文件结构体和文件指针
函数原型:int fclose(FILE *fp)
功能:关闭fp指向的文件
返值:正常关闭为0;出错时,EOF (-1)
文件打开时返回的文件类型指针
不关闭文件可能会丢失数据
文件关闭fclose
易茨捆休罗种忧棺殷砌上痈腋煞恃起切速绕杯搏硅忘葫晾整肯济梭陌镭做c语言 文件c