- 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语言文件操作总结
C 语言文件操作总结
1 文件
文件代表字节序列。fopen()函数将一个文件和流关联起来,并初始化一个类
型为FILE 的对象,此对象包含控制此流的所有信息。这样的信息包括指向缓冲
区的指针、文件读写位置的指针,以及指示错误和文件尾情况的标志。
打开文件的每个函数都会返回“指向FILE 对象的指针”,此FILE 对象包含
此文件的流。一旦打开文件,就可以调用函数对数据和流进行处理。处理函数都
需要把FILE 指针当自变量。
I/O 链接库也包含了“作用于文件系统”的函数,并且这些函数需要把文件
文件名作为参数。使用这些函数不需要事先打开文件。函数包括:
remove() 函数:删除一个文件(或者空目录);
rename() 函数:改变文件(或目录)的名称,自变量分别为旧文件名和新文
件名;
这两个函数的返回值都是int 类型,成功是返回0,失败时返回非0 值。
2 缓冲区
2.1 缓冲方式
处理文件时,读写个别字符通常效率不佳,因此,流有缓冲区。缓冲区可以
把许多字符集中起来,这些字符会以内存区域的方式“整体”进入文件。
流的三种缓冲方式:
(1)全缓冲
只有在缓冲区满时缓冲区内的字符才会被正常地转移。
(2 )行缓冲
只有当换行字符被写入缓冲区,或者缓冲区满了,缓冲区内的字符才会被正
常转移。
(3 )无缓冲
字符会尽快地被转移。
2.2 缓冲区的刷新
在C 中可以调用fflush()函数显示地把缓冲区内的字符转移到相关文件。在
C++ 中,可以使用flush 操作符进行缓冲区的强制刷新;也可以使用endl 操作符,
它不但实现换行操作,也对输出缓冲区进行刷新。
2.3 改变缓冲模式
当使用fopen()打开一个正常的文件时,新的流是“全缓冲的”。当打开互动
设备是,设备文件会被关联到“行缓冲”流。
在打开文件之后,并且在进行第一次输入或输出之前,可以使用 setbuf()或
setvbuf()函数来改变缓冲模式。
1)void setbuf(FILE *steam, char *buf); 主要用于打开和关闭缓冲机制。
2 )int setvbuf(FILE *stream, char *buf, int type, unsigned size);
参数:stream :指向流的指针;
buf : 期望缓冲区的地址;
type : 期望缓冲区的类型:
_IOFBF(满缓冲):当缓冲区为空时,从流读入数据。或者当缓冲区满时,
向流写入数 据。
_IOLBF(行缓冲):每次从流中读入一行数据或向流中写入一行数据。
_IONBF(无缓冲):直接从流中读入数据或直接向流中写入数据,而没有
缓冲区。
size : 缓冲区内字节的数量。
3 标准的流
每个 C 程序一开始就有三个标准流可以用。这些流不需要被显示得打开。
表1-1 列出了他们的FILE 指针。
表1-1. 标准的流
FILE 指针 常用名称 缓冲模式
stdin 标准输入 行缓冲
stdout 标准输出 行缓冲
stderr 标准错误输出 无缓冲
stdin 流通常关联到键盘,stdout 和stderr 则关联到显示器。这些关联可以利
用“重定向”的方式来改变。可以通过freopen()函数重新定向,或者程序执行时
操作系统也可以进行重新定向。
4 打开和关闭文件
4.1 打开文件
标准链接库提供fopen()函数来打开文件。特殊情况下,还可以使用freopen()
和tmpfile() 函数来打开文件。
1)FILE *fopen(
您可能关注的文档
- 论瓦尔拉斯(walras)的“一般均衡”与当代“非均衡”理论.pdf
- 2014学年第二学期八年级社会思品期中试卷.doc
- global ct scan test phantom sales( ct扫描测试幻影)market report 目录.docx
- 通用版初一语文寒假衔接资料(阅读、作文、标点、病句、语音、字词).pdf
- 钢筋保护层厚度检测能力验证作业指导书.pdf
- 论公共产品的本质_兼论公共产品理论的局限性_秦颖.pdf
- 2010年英语二真题全解析(格式美丽!适合强迫症宝宝).pdf
- 新形势下中国天然气市场发展态势与应对策略_以川渝气区为例.pdf
- ket口语.doc
- 2015-2016年度高中地理第一次月考试卷及答案解析.docx
最近下载
- 发改价格[2007]670号监理收费标准.pdf VIP
- 发改价格【2007】670号《建设工程监理与相关服务收费管理....docx VIP
- 最新实用医学汉语-医学课件.ppt VIP
- 医学汉语教学大纲.doc VIP
- 水工建筑物外观质量评定标准.docx VIP
- 英语国际音标表(8个)打印版.doc VIP
- 升立德 E系列控制卡快速入门.pdf VIP
- 欧盟发布电池和废电池的新规(EU) 附中译文参照_182518812544822.pdf VIP
- 9.3抗日战争80周年阅兵九三阅兵小小爱国者探索手册PPT(优质ppt).pptx VIP
- 部编版六年级语文上册《 开国大典》PPT课件(含教案).pptx VIP
文档评论(0)