- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C程序设计第十一章会计学第1页/共27页教学重点文件及文件类型指针概念文件的操作: 打开、读写、关闭常用的文件系统函数C 程序设计第十一章 文 件第2页/共27页11.1 文件概述文件的定义 存储在外部介质上的数据的集合。文件名称 文件名[.扩展名]在C程序中的数据文件按存储格式分:以字符形式存储的文件称文本文件或ASCII码文件以二进制形式存放的文件称二进制文件010110111100110100010101000001111 2 3 4 5 6 7 800110001001100100011001100110100001101010011011000110111001110004950515253545556第3页/共27页数据文件的存储格式例:数按二进制数存放:4个字节 按字符存放:8个字节二进制文件文本文件第4页/共27页11.1 文件概述文本文件与二进制文件的区别文本文件阅读方便,直观,便于对字符逐个输入/出,但占存储空间多,花费转换时间;二进制文件由于一个字节并不对应一个字符,不能直接显示文件内容,但节省存储空间,不需转换。内存储器输出程序数据区输入写文件读文件文件第5页/共27页数据流向标准设备文件缓冲区显示器键盘外存储器第6页/共27页11.1 文件概述FILE文件类型 在中定义了一个FILE结构体类型;该结构体中存放有关打开文件的信息(文件名、文件状态、数据缓冲区位置、文件读写的当前位置等)。文件类型指针 文件的操作,都必须通过指向文件类型的指针变量来进行;即用户必须定义一个文件类型的指针。文件类型指针的定义 FILE *文件结构体指针变量名;第7页/共27页11.1 文件概述文件的操作 打开文件:建立文件缓冲区、获取指向FILE类型结构体变量的指针。 读写文件:通过文件类型指针,调用读写函数对文件进行读写操作。 关闭文件:释放文件缓冲区,释放文件指针所指的FILE类型结构体变量。第8页/共27页11.2 文件的打开和关闭例:以只读方式打开文本文件。 FILE *fp; fp=fopen( , r ) ; 通常需要检查文件打开是否成功,以下是文件打开常用的程序段: if ( (fp=fopen( , r ) )==NULL) { printf( Open file error!\n ); exit(0); }打开文件fopen函数函数原型 FILE * fopen(char *filename, char *mode)功能:打开名为filename的文件,函数的返回值为指向该文件的FILE结构体类型变量的首地址,打开文件失败则返回NULL。mode:打开文件的使用方式,用字符串表示,参见教材P.240 表函数exit(0)的功能:终止程序头文件第9页/共27页11.2 文件的打开和关闭关闭文件函数原型: int fclose( File *fp )功能:确保最后输出到文件缓冲区中的内容(无论是否已满),立即写入到对应的外存文件中;释放fp所指向的文件结构体和文件缓冲区。函数返回非0表示出错,返回0则表示文件已被正常关闭。例:FILE *fp; //打开当前目录下的文本文件 fp=fopen( , r ) ; … … fclose(fp) ;第10页/共27页11.3 文件的读写文件结构体类型中,有一个“读写位置指针”,指向当前读写的位置。当打开一个文件时,读写位置指针指向文件中所有数据项之前。每进行一次文件的读写,读写位置指针都将自动向后移动,移至下一个读写位置。第11页/共27页11.3 文件的读写C提供不同的读写文件的函数:文本文件的读写fgetc fputc 读写一个字符fgets fputs读写一个字符串fscanf fprintf 格式化读写二进制文件的读写fread fwrite读写一个“内存块”第12页/共27页11.3 文件的读写— fgetc函数字符输入函数fgetc函数原型:int fgetc(FILE * fp)功能:从fp所指的文本文件的当前读写位置读入一个字符。函数返回该字符的ASCII值,若到文件结束标志则返回EOF(-1)。从文件读入一个字符后,文件读写位置向后移动一个字节。常用方法: c = fgetc(fp) ; //c为字符型变量例:FILE *fp; char ch; fp=fopen( , r ) ; ch=fgetc(fp); putchar(ch);//从文件当前读写位置读取一个字符,输出到显示器。第13页/共27页11.3 文件的读写对于文本文件,判断文件是否结束,可以采用以下方法: while ( ( ch=fgetc(fp) ) != EOF ) { … …/
原创力文档


文档评论(0)