编程c语言 第十三章 文件

编程c语言 第十三章 文件

ID:20379173

大小:240.50 KB

页数:20页

时间:2018-10-09

编程c语言 第十三章 文件_第1页
编程c语言 第十三章 文件_第2页
编程c语言 第十三章 文件_第3页
编程c语言 第十三章 文件_第4页
编程c语言 第十三章 文件_第5页
资源描述:

《编程c语言 第十三章 文件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、13.1C文件概述13.2文件类型指针13.3文件的打开与关闭13.4文件的读写13.5文件的定位(自学)13.6出错的检测(自学)第十三章文件第十三章文件13.1C文件概述文件:存储在外部介质上数据的集合,是操作系统数据管理的单位。程序文件数据文件文档文件……使用数据文件的目的1、数据文件的改动不引起程序的改动——程序与数据分离2、不同程序可以访问同一数据文件中的数据——数据共享3、能长期保存程序运行的中间数据或结果数据如int型数100000010011100010000内存存储形式0010011100010000二进制形式001100010011

2、0000001100000011000000110000ASCII形式文本文件特点:存放字符的ASCII码存储量大、速度慢、便于对字符操作。二进制文件特点:数据在内存中的存储形式存储量小、速度快、便于存放中间结果。文件的组织形式分类:文本文件和二进制文件文件处理方法缓冲文件系统:高级文件系统,系统自动为正在使用的文件开辟内存缓冲区非缓冲文件系统:低级文件系统,由用户在程序中为每个文件设定缓冲区磁盘文件输出文件缓冲区输入文件缓冲区程序数据区a缓冲文件系统:缓冲区指令区程序用户数据区磁盘非缓冲文件系统:13.2文件类型指针文件结构体FILE缓冲文件系统为每

3、个正使用的文件在内存开辟文件信息区文件信息用系统定义的名为FILE的结构体描述FILE定义在stdio.h中typedefstruct{int_fd;//文件号int_cleft;//缓冲区中剩下的字符数int_mode;//文件操作方式char*_next;//文件当前读写位置char*_buff;//文件缓冲区位置}FILE;文件类型指针指针变量说明:FILE*fp;用法:文件打开时,系统自动建立文件结构体,并把指向它的指针返回来,程序通过这个指针获得文件信息,访问文件文件关闭后,它的文件结构体被释放文件名文件使用方式文件类型指针C程序操作系统磁盘

4、13.3文件的打开与关闭C文件操作用库函数实现,包含在stdio.h文件操作步骤:打开文件、读/写文件、关闭文件系统自动打开和关闭三个标准文件:标准输入------键盘stdin标准输出------显示器stdout标准出错输出-----显示器stderr打开文件:fopen函数调用格式:FILE*fp;fp=fopen(文件名,使用文件方式);功能:按指定方式打开文件返回值:正常打开,为指向文件结构体的指针;打开失败,为NULL例FILE*fp;fp=fopen(“c:\fengyi\bkc\test.dat”,”r”);例FILE*fp;ch

5、ar*filename=“c:\fengyi\bkc\test.dat”fp=fopen(filename,”r”);“r+/rb+”(读写)“a/ab”(追加)“w/wb”(只写)“r/rb”(只读)“w+/wb+”(读写)“a+/ab+”(读写)为输入打开一个文本/二进制文件为输出打开或建立一个文本/二进制文件为读/写打开一个文本/二进制文件为读/写建立一个文本/二进制文件为读/写打开或建立一个文本/二进制文件向文本/二进制文件尾追加数据文件使用方式含义例文件打开与测试FILE*fp;if((fp=fopen(“aa.txt”,“w”)==N

6、ULL){printf(“Fileopenerror!”);exit(0);}文件关闭fclose作用:使文件指针变量与文件“脱钩”,释放文件结构体和文件指针调用格式:fclose(fp);功能:关闭fp指向的文件返值:正常关闭为0;出错时,非0文件打开时返回的文件类型指针磁盘文件输出文件缓冲区输入文件缓冲区程序数据区a缓冲文件系统:fclose不关闭文件可能会丢失数据13.4文件的读写字符输入和输出:fputc与fgetcfputc调用格式:fputc(ch,fp)功能:把一字节代码ch写入fp指向的文件中返值:正常,返回ch;出错,为EOF(-

7、1,文件结束)fgetc调用格式:fgetc(fp)功能:从fp指向的文件中读取一字节代码返值:正常,返回读到的代码值;读到文件尾或出错,为EOF(-1,文件结束)例从键盘输入字符,逐个存到磁盘文件中,直到输入‘#“为止#includemain(){FILE*fp;charch;if((fp=fopen("out.txt","w"))==NULL){printf("cannotopenfile");exit(0);}printf("Pleaseinputstring:");ch=getchar();while(ch!='#'){f

8、putc(ch,fp);putchar(ch);ch=getchar();}fclose(fp

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。