网站大量收购独家精品文档,联系QQ:2885784924

二、CC++的文件结束符处理特性.PDF

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
二、CC的文件结束符处理特性

“文件结束符”!t/ 一、引言 for{x=7a’:x=’d’:x++) 效率高、功能强著称的c/c++语言,使不少人至今仍 个字符“abcd”$/ 误认为它对文件的读写处理完全类同其它计算机语言;只需 fclose(fp):/$关闭文件(并使其长度为9)}/ ) 用fopen函数开启某文件,即可放心读写此文件;而只要用 fcl08e函数关闭该文件,则此文件总可放心大吉。 二、C/C++的文件结束符处理特性 事实果真如此吗?答案是否定,而程序E9001.c可算是 “文件结束符未必能使文件正常结束”咄咄怪事的出 其典型示例。它所得文件f1.dat中存放的数据会令不少人大 现,皆因c/c++对文件结束符处理独具鲜为人知的特性, 吃一惊:竟然不是人们所预想的“ABcD”,而是不可思议的 “ABcDabcd,, (注意:在“ABcD”与“abcd,,间存放了一个 入的文件结束符才能使文件正常结束(因它才可决定文件长 居然不能使文件正常结束的“文件结束符”,故其文件长度 度);而其它任何时候写入文件的字符(包括文件结束符) 是9字节而非4字节”)! 都不可使文件正常结束(因它们均无力决定文件长度)。这 /*示例程序1:Eg001.Cf“文件结束符”未必能使文件正常 结束的示例程序)*/ h 样incIudestdio 结束符,而与其它位置所写入字符(包括文件结束符)无 inti: 关”。因此,这种文件结束符处理特性使C/c++已大不同 Char x: FILE*fp:/{定义字符型变量,文件指针*/ 于其它计算机语言,人们再不能简单地认为它们“只需用 void main(){ cIrsc…: /$清屏{/ 闭该文件,必可安然无恙”。 dat”,”wb”): fp=fopen(”f1 /$仓l建文件$/ fo r《x=7A7:×=’D7:x++) 三、C/C++文件结束符处理特性的影响与规避 {叫ntf(”%c”,x):fwrite《x,1,1,fp):}/{首先写入头4 个字符“ABCD”m/ 在实际编程中,设计者如果没有认识到C/c++文件结 ×={char)3:/{取得文件结束符(其ASC||码为3)t/ 叫ntf(”%c”,x): /$准备写入第5个字符$/ 束符处理特性的存在,就难免使所编写的程序可能出现设计 fwrite(x,1,1,fp):/}强行写入一个不能使文件结束的 错误和严重隐患(例如:试图根据所读写字符是否为文件结 图 模式+/ 束符(或ASC码是否为3),或者利用feof函数来监控文件的 IastdatumisdoubIe 结束,就时常出现失误、失控、失败)。当然,编程时设计者 printf{”The wrongly:”)

文档评论(0)

l215322 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档