- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C12-文件解读
第13章 文件 文件概述 文件类型指针 文件的打开与关闭 文件的读写 文件定位 出错检测 13.1 C文件概述 文件与文件名文件是指存放在外部存储介质上的数据集合。 每个文件都必须有一个文件名:主文件名[.扩展名] 文件命名规则遵循操作系统的约定。 C语言将键盘作为输入文件,显示器、打印机等作为输出文件 文件分类 可以从不同的角度对文件进行分类: 按文件的内容: 分为程序文件和数据文件。程序文件又可分为源文件、目标文件和可执行文件。 按文件的逻辑结构: 记录文件:由具有一定结构的记录组成; 流式文件:由一个个字符(字节)数据顺序组成; 文件处理方法 缓冲文件系统:系统自动在内存区为每个正在使用的文件开辟一个缓冲区。 从内存向磁盘输出数据时,必须首先输出到缓冲区中。待缓冲区装满后,再一起输出到磁盘文件中。 从磁盘文件向内存读入数据时,则首先将一批数据读入到缓冲区中,再从缓冲区中将数据逐个送到程序数据区。 非缓冲文件系统:由用户在程序中为每个文件设定缓冲区 13.2 文件类型指针 每个被使用的文件都在内存中开辟一个区,用于保存文件的相关信息; 文件相关信息用系统定义的一个结构体类型FILE来保存; FILE的定义保存在stdio.h中。 文件类型指针 指针变量说明: FILE *fp; 用法: 文件打开时,系统自动建立文件结构体,并把指向它的指针返回来,程序通过这个指针获得文件信息,访问文件 文件关闭后,它的文件结构体被释放 13.3 文件的打开与关闭 C文件操作用库函数实现,包含在stdio.h中 文件使用方式:打开文件--文件读/写--关闭文件 系统自动打开和关闭三个标准文件: 标准输入------键盘 stdin 标准输出------显示器 stdout 标准出错输出-----显示器 stderr 打开文件函数fopen FILE *fp; fp=fopen(文件名,使用文件的方式) 功能:按指定方式打开文件 返值:正常打开,为指向文件结构体的指针;打开失败,为NULL 文件关闭fclose 作用:使文件指针变量与文件“脱钩”,释放文件结构体和文件指针 fclose(文件指针);返值:正常关闭为0;出错时,非0 13.4 文件的读写 1. 字符I/O (fputc和fgetc函数) : fputc(ch,fp) 功能:把一个字符ch写入fp指向的文件中 返值:正常,返回ch;出错,返回EOF(-1) fgetc(fp) 功能:从fp指向的文件中读取一个字符 返值:正常,返回读到的字符;读到文件尾或出错返回EOF 符号常量EOF:其值在头文件stdio.h中被定义为-1 2. 数据块I/O(fread与fwrite函数) 3. 格式化I/O(fprintf与fscanf函数) 一般调用方式: fprintf (文件指针,格式字符串,输出列表) fscanf (文件指针,格式字符串,输出列表) 功能:按格式对文件进行I/O操作 返值:成功,返回I/O的个数;出错或文件尾,返回EOF 13.5 文件的定位 几个概念 文件位置指针-----指向当前读写位置的指针 读写方式 顺序读写:位置指针按字节位置顺序移动 随机读写:位置指针按需要移动到任意位置 rewind函数 格式:rewind(fp) 功能:重置文件位置指针到文件开头 返值:无 fseek函数 格式:fseek(fp,位移量,起始点) 功能:改变文件位置指针的位置 返值:成功,返回0;失败,返回非0值 一般用于二进制文件 13.6 出错的检测 ferror函数 格式: ferror(fp) 功能:测试文件是否出现错误 返值:未出错,0;出错,非0 说明 每次调用文件输入输出函数,均产生一个新的ferror函数值,所以应及时测试 fopen打开文件时,ferror函数初值自动置为0 clearerr函数 格式:clearerr(fp) 功能:使文件错误标志为0 返值:无 说明:出错后,错误标志一直保留,直到对同一文件调clearerr(fp)或rewind或任何其它一个输入输出函数 * C语言程序设计 西南财经大学电子商务学院 * * 如 int型数10000 0010011100010000 内存存储形式 0010011100010000 二进制形式 0011000100110000001100000011000000110000 ASCII形式 按数据的存储形式: 文本文件( ASCII文件):每个字节存放一个字符的ASCII码,需要的存储空间大、速度慢、但便于对字符操作; 二进制文件:数据按其在内存中
您可能关注的文档
最近下载
- Office办公软件应用案例教程--电子教案.docx VIP
- 部编版语文六年级上册第一单元教学设计含习作园地一.pdf VIP
- 《闪亮的坐标—劳模王进喜》课件 2024-2025学年高教版(2023)中职语文职业模块_47498966.pptx VIP
- 上海正夕CL2800余氯分析仪使用说明书.pdf VIP
- 牛油果种植管理技术.pdf VIP
- AI驱动光接入网技术白皮书(2025版).docx
- JT∕T 200-2020 汽车客运站级别划分和建设要求(可复制版).pdf
- 完整版铁路工程实施性施工组织设计方案22.docx
- 飞行_载重平衡管理手册.pdf
- 第4章 PyTorch深度学习框架.pptx VIP
文档评论(0)