- 1、本文档共39页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1.3标准IO
标准I/O
标准I/O库
流和FILE对象
文件指针
标准I/O操作
标准I/O库
库函数是一些完成常见的特定功能的函数,一般由某
个标准组织制作发丰。并形成一定的标准,库函数一
般可以应用于不同的平台面不需要做任何修改,具有
很好的可移植性。系统调用函数与操作系统直接相关
,不同的操作系统使用的调用可能不同,因此可移植
性不高。
库函数在实现中也可能需要使用系统调用,但它封装
了系统调用操作。用户不必关心使用了哪些系统调用
。
流和File对象
文件I/O函数都是针对文件描述符的。当打开一个文件
时,即返回一个文件描述符,然后该文件描述符就用
于后续的I/O操作。
而对于标准I/O库,它们的操作则是围绕流进行的。当
用标准I/O库打开或创建一个文件时,我们已使用一个
流与一个文件相关联。
文件流
流是一个抽象的概念,是物质从一处向另一处流动的
过程,多用于程序开发中。
在程序开发中,流是指信息从外部输入设备(如键盘
和磁盘)向计算机内部(即内存)输入或从内存向外
部输出设备(如显示器和磁盘)输出的过程,这种输
入输出过程被形象地比喻为“流”。
文件缓冲区
根据应用程序对文件的访问方式,即是否存在
缓冲区,文件系统分为缓冲区的文件系统
和非缓冲文件系统。
缓冲文件系统:高级文件系统,系统自动为正在使
用的文件开辟内存缓冲区。遵循ANSI 标准的I/O
函数使用的就是缓冲文件系统。
非缓冲文件系统:低级文件系统,由用户在程序中
为每个文件设定缓冲区。POSIX 标准的系统调用
I/O 函数使用的就是非缓冲文件系统
缓冲文件系统
标准的C 库函数建立在底层系统调用之上,即C 函数
库文件访问函数的实现中使用了文件I/O 系统调用。
标准的C 库中的文件处理函数为了减少使用系统调用
的次数,提高效率,根据应用的不同采用缓冲区机制
,这样,在对磁盘文件进行读操作时,可以一次性地
从文件中读出大量数据到缓冲区中,以后对这部分数
据的访问就不需要再使用系统调用了。在对磁盘文件
进行操作时,可以先将内容存储在文件缓冲区中,待
文件缓冲区满后再用系统调用将该文件一次写入到磁
盘。
根据使用领域的不同需求,标准C 函数使用了全缓冲
、行缓冲和无缓冲3 种缓冲区处理方式。
缓冲文件系统
全缓冲:这种情况下,在填满标准I/O缓冲区后才进行
实行I/O操作。
行缓冲:在这种情况下,当在输入和输出中遇到换行
符时,标准I/O库执行I/O操作。当流涉及一个终端时
,通常使用行缓冲。
不带缓冲:标准I/O库不对字符进行缓冲存储。
更改缓冲类型
Void setbuf(FILE*fp, char * buf)
Intsetvbuf(FILE*fp, char *buf, intmode, size_tsize)
返回值:成功返回0,出错返回非0值
这些函数一定要在流已被打开后调用,而且也应该在
对流执行任何其他操作之前调用。
文件指针
流是操作系统抽象出来的概念,其实体由操作系统维
护和管理,应用层开发只需使用流即可实现对文件的
访问。在应用层面,对文件流的访问通过文件指针
FILE 来实现
系统启动时默认打开了3 个文件,即至少拥有了3 个
流:标准输入、标准输出和标准出
错,这3 个流在缺省的情况下可被任意进程使用。在
标准I /O 流中通过预定义FILE 类型的
文件指针stdin、stdout和stderr来分别引用标准输入
、标准输出和标准出错
File结构体
您可能关注的文档
- !!!!!08面向三相不平衡负荷的无功补偿装置的仿真.pdf
- (三)—— 补偿交易模式.pdf
- (不确定情景)大学生星座流行心理的调查分析.pdf
- (Modbus_RTU模式)十六路继电器输出控制板设计说明资料.pdf
- (三):理解JSX和组件.pdf
- (原创精品)0-1背包问题(回溯法).doc
- (四)SQL MODE变化和优化online操作.pdf
- (实用)网页制作中可能用到的颜色的十六进制代码.doc
- (新1)A1友会网2009中国大学创业富豪榜全部榜单.doc.pdf
- (曾喆昭_2007)一种基于正交基神经网络算法的传感器误差补偿方法.pdf
- 2026版高三一轮总复习(数学)70 第八章 第2课时 两条直线的位置关系.pptx
- 2023年传媒行业:现象级产品ChatGPT出现,AIGC商业化推进,赋能多元应用.pdf
- 2023年创梦天地分析报告:深耕自研产品生态,构筑游戏社区未来.pdf
- 2023年城投债:人口迁徙与产业模型.pdf
- 2023年充电桩行业分析报告.pdf
- 汽车电梯知识培训课件.ppt
- 2026版高三一轮总复习(数学)47 第五章 第3课时 平面向量的数量积及其应用.pptx
- 统编版(2024)一年级下册语文17 小猴子下山 课件.pptx
- 2026版高三一轮总复习(数学)62 第七章 第5课时 空间直线、平面的垂直.pptx
- 宁强县2024-2025学年度第二学期期末学业水平检测:八年级英语试题(卷).docx
文档评论(0)