欢迎来到天天文库
浏览记录
ID:52107110
大小:389.50 KB
页数:54页
时间:2020-03-31
《《计算机程序设计》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、计算机程序设计基础第八章文件与数据存储提纲8.1文件的基本概念8.2文件的基本操作8.3文件的读写8.4数据存储本章小结8.1文件的基本概念文件定义一组相关信息的集合;平时存储在外部介质上,需要时读入内存,操作完毕后再写回外部介质文件处理数据流:数据从源到目的的流动,文件就是数据流动的源或目的在C中,任何设备只要能够作为数据流动的源或目的都可以作为文件处理文件操作:使用标准库函数文件类型二进制文件信息以二进制格式存储内容不分行,行尾无行结束标志读写时不发生数据转换,文件中的内容与信息在内存中的存储布局相同程序容易处理,程序员不容易理解文本文件信息以文本(字符串)格式存储文本分行,行尾有行结
2、束标志读写时发生数据转换(自动或人工),转换过程可逆程序容易处理,程序员也容易理解文件指针文件指针类型文件指针类型格式:FILE*说明:所有对文件的操作都需要使用文件指针类型文件变量定义格式:FILE*fp;说明:要访问某个文件,一定需要首先定义文件指针类型的变量,并将该变量与对应文件关联起来,此后才能进行文件操作8.2文件的基本操作文件打开操作文件关闭操作文件结束检测操作文件错误检测操作文件缓冲区与流刷新操作文件指针定位操作文件指针位置查询操作文件指针重定位操作文件打开操作文件打开函数fopen函数原型:FILE*fopen(constchar*filename,constchar*mo
3、de);参数意义:filename表示文件名(可带文件路径),mode表示文件打开模式返回值:成功执行,返回文件的对应指针,否则返回NULL注意:一定要检查fopen函数的返回值!文件打开操作文件打开模式“r”:读模式,若文件不存在,则返回NULL“w”:写模式,若文件不存在则创建它,若文件已存在则其内容被擦除“a”:写模式,若文件不存在则创建它,若文件已存在则保留原内容,信息追加到文件尾部“r+”:读写模式,文件必须已存在,否则返回NULL“w+”:读写模式,若文件不存在则创建它,若文件已存在则其内容被擦除“a+”:读写模式,若文件不存在则创建它,若文件已存在则保留原内容,信息追加到文件
4、尾部“b”:二进制格式打开文件文件打开操作文件打开模式说明“b”模式注意:不能单独使用,必须与其他模式合并使用示例一:“rb”表示以二进制读模式打开文件示例二:“w+b”表示以二进制读写模式打开文件“a+”与“a”模式相同点:追加信息均写入文件尾部不同点:“a”模式不删除原始文件中的文件结束标志,部分程序不能读取新追加的信息建议:使用“a+”而不是“a”文件关闭操作文件关闭函数fclose函数原型:intfclose(FILE*fp);参数意义:fp表示待关闭的文件指针返回值:成功执行时返回0,失败时返回-1注意:测试函数时,要特别注意成功时为假(0),失败时为真(非0),不同于标准库中其
5、他函数!程序结束时,未关闭的文件自动关闭多个文件的关闭操作函数原型:intfcloseall();关闭除标准文件流之外的所有文件标准文件流什么是标准文件流C语言为用户预定义的三个全局文件流数据对象定义于“stdio.h”中标准输入流stdin:代表输入设备(一般为键盘)用户输入均由系统自动放入该变量所代表的存储空间标准输出流stdout:代表输出设备(一般为屏幕)程序输出均由系统自动放入该变量所代表的存储空间标准错误流stderr:代表错误输出设备(一般为屏幕)程序错误输出均由系统自动放入该变量所代表的存储空间文件结束检测操作文件结束检测函数feof函数原型:intfeof(FILE*fp
6、);参数意义:fp表示待检测的文件指针返回值:文件结束时返回真,否则返回假feof使用示例FILE*fp;fp=fopen("filename","w+");if(!fp)PrintErrorMessage(FALSE,"Failedinopeningfile%s.","filename");while(!feof(fp)){//文件的具体操作在此}fclose(fp);文件错误检测操作文件错误检测函数ferror函数原型:intferror(FILE*fp);参数意义:fp表示待检测的文件指针返回值:读写文件发生错误时返回真,否则返回假ferror使用示例FILE*fp;fp=fopen
7、("filename","w+");if(!fp)PrintErrorMessage(FALSE,"Failedinopeningfile%s.","filename");while(!feof(fp)){if(ferror(fp))……//发生文件读写错误,处理该错误}fclose(fp);文件缓冲区与流刷新操作缓冲区系统为文件读写操作专门建立的数据中转站文件缓冲区与流刷新函数fflush函数原型:intfflush(
此文档下载收益归作者所有