- 1、本文档共31页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2. clearerr函数 它的作用是使文件错误标志和文件结束标志置为0。假设在调用一个输入输出函数时出现错误,ferror函数值为一个非0值。在调用clearerr(fp)后,ferror(fp)的值变成0。 只要出现错误标志,就一直保留,直到对同一文件调用clearerr函数或rewind函数,或任何其它一个输入输出函数。 第10章 文件 10.1 C文件概述 文件按组织形式可分为ASCII文件和二进制文件。 ASCII文件又称文本文件(text),它的每一个字节放一个ASCII代码,代表一个字符。 二进制文件把内存中的数据按其在内存中的形式原样输出到磁盘。 如果一个整型数10000在内存中占2个字节(整型数占2字节),如果按ASCII输出,每一个数字是一个字符,共5个字符,每个字符一个字节,共占5个字节。 000010111000101110011000000110000ASCII形式 二进制形式 内存中的形式 1 0 0 0 用ASCII码形式输出与字符一一对应,一个字节代表一个字符,因而便于对字符进行逐个处理,也便于字符输出。但占空间较大,且要花费转换时间。用二进制形式输出,可以节省存储空间和时间,但一个字节并不代表一个字符,不能直接输出字符。一般中间结果以二进制输出。 一个C文件就是一个字节流或二进制流,而不考虑记录的界限。在C语言中对文件的存取是以字节为单位的。输入和输出数据流的开始和结束仅受程序控制而不受物理符号控制。这种文件叫做流式文件。 老版本的C 对文件有两种处理方法: 1. 缓冲文件处理系统:系统自动地在内存区为每一个正在使用的文件名开辟一个缓冲区。从内存向磁盘输出的数据必须先送到内存中的缓冲区,装满缓冲区后才一起送到磁盘。如果从磁盘向内存读入数据,则一次从磁盘文件将一批数据输入到内存缓冲区(充满缓冲区),然后再从缓冲区逐个地将数据送到程序数据区(给程序变量)。 2. 非缓冲区文件系统:系统不自动开辟确定大小的缓冲区,而由程序为每个文件设定缓冲区。 新的ANSI C标准不采用非缓冲区文件系统。但旧的标准仍然存在。 文件类型指针 对于缓冲区文件系统,每个被使用的文件都在内存中开辟一个区,用来存放文件的有关信息。(如文件名字、文件状态及文件当前位置等)。这些信息是保存在一个结构体类型的变量中的。该结构体类型由系统定义,取名FILE。可用“FILE”定义文件指针如: FILE *fp; /* fp是一个指向文件的指针变量*/ 可以用fp指向某一个文件的结构体变量,从而通过该结构体变量中的信息访问该文件。即通过文件指针变量能够找到与它相关的文件。 10.2 文件的打开与关闭 1.? 文件的打开(fopen函数) fopen 函数的调用方式: FILE *fp; fp=fopen(文件名,使用方式); fp=fopen(“file1”,”r”) /*以只读方式打开文件,返回文件file1的指针给fp. 说明: 1.“r”打开的文件只能读,且应是已存在的文件。 2.“w”打开的文件只能写,且是建立新文件,若原来有同名文件,删除重建。 3.带“+”的使用方式,都是既读又写。 4.如果不能实现“打开”的任务,fopen函数将带回一个错误信息。出错的原因可能是用“r”方式打开的文件不存在,或磁盘满,或磁盘坏。此时fopen函数将带回一个空指针值NULL(NULL在stdio.h中定义为0)。 常用下面方法打开文件: if ((fp = fopen(“file1”, “r”))==NULL) { printf(“cnanot open this file\n”): exit(0);} exit()函数的作用是关闭所有文件,终止正调用的过程。 5.在程序开始运行时,系统自动打开三个标准文件:标准输入、标准输出、标准出错输出。通常这三个文件都与终端联系。因此以前我们所用到的从终端输入或输出,都不需要打开终端文件。系统自动定义了三个文件指针stdin、stdout和stderr,分别指向终端输入、终端输出和标准出错输出(也从终端输出)。如果程序中指定要从stdin所指的文件输入数据,就是指从终端键盘输入。 2. 文件的关闭(fclose函数) 使用完一个文件后应该关闭它,以防止它在被误用或数据丢失。 关闭文件时,先把缓冲区中的数据输
您可能关注的文档
- 江苏省南京市2016年中考化学试题(word版,含答案)重点.doc
- 煤矿掘进安全质量标准化制度汇编重点.doc
- 江苏省南通市如皋中学2016届高考物理模拟试卷重点.doc
- 急性一氧化碳护理查房重点.ppt
- 江苏省如东高级中学2016-2017学年高二上学期期中考试历史试题Word版重点.doc
- 蔬果陈列标准剖析.ppt
- 江苏省苏锡常镇四市2016届高三第二次模拟考试物理试卷重点.doc
- 江苏省泰州市高港实验学校2016-2017学年上学期12月月考九年级语文试卷重点.doc
- 蒲松龄与《聊斋志异》剖析.docx
- 第08章JSP核心表达式与标签重点.ppt
- 2025年市总工会党组书记、市委组织部部长生活会“四个带头”个人对照检查发言材料2篇(含上年度整改+个人情况、个人事项+典型案例).docx
- 2025年部编版小学六年级下册《道德与法治》第四单元 让世界更美好第10课 我们爱和平教学课件.pptx
- 公司领导班子2025年围绕“四个带头”主题检视问题整改落实方案与组织生活会批评意见(20条)2篇文.docx
- 教育系统党组班子2025年对照“四个带头”含意识形态、以典型案例举一反三解析检视材料【2篇文】.docx
- 2025年国有企业领导班子、学校副校长生活会“四个带头”方面对照个人检视发言材料2篇文(附:上年度整改情况、典型案例解析).docx
- 2025年生活会“四个带头”个人对照检查材料2篇文(含对其他领导批评意见,个人公开事项申报、意识形态).docx
- 2025年国有企业党委书记、领导班子生活会“四个带头”方面对照检查发言材料2篇文(上年度整改情况).docx
- 乡镇领导班子、市委组织部常务副部长2025年对照“四个带头”含违纪行为为典型案例的剖析与反思检视剖析材料{2篇文}.docx
- 市委社会工作部2025年生活会领导班子对照检视发言材料2篇文(含以案为鉴,深刻反思存在问题、反面典型案例举一反三解析、其他需要说明情况).docx
- 2025年民主生活会、组织生活会批评意见(20条)与市直单位领导班子“四个带头”对照检查材料【含上年度查摆问题整改落实情况】2篇文.docx
文档评论(0)