- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
一、标准文件的读写1.文件的打开fopen()文件的打开操作表示将给用户指定的文件在内存分配一个FILE结构区,并将该结构的指针返回给用户程序,以后用户程序就可用此FILE指针来实现对指定文件的存取操作了。当使用打开函数时,必须给出文件名、文件操作方式(读、写或读写),如果该文件名不存在,就意味着建立(只对写文件而言,对读文件则出错),并将文件指针指向文件开头。若已有一个同名文件存在,则删除该文件,若无同名文件,则建立该文件,并将文件指针指向文件开头。fopen(char *filename,char *type);其中*filename是要打开文件的文件名指针,一般用双引号括起来的文件名表示,也可使用双反斜杠隔开的路径名。而*type参数表示了对打开文件的操作方式。其可采用的操作方式如下:
方式 含义r 打开,只读w 打开,文件指针指到头,只写a 打开,指向文件尾,在已存在文件中追加rb 打开一个二进制文件,只读wb 打开一个二进制文件,只写ab 打开一个二进制文件,进行追加r+ 以读/写方式打开一个已存在的文件w+ 以读/写方式建立一个新的文本文件a+ 以读/写方式打开一个文件文件进行追加rb+ 以读/写方式打开一个二进制文件wb+ 以读/写方式建立一个新的二进制文件ab+ 以读/写方式打开一个二进制文件进行追加
当用fopen(0成功的打开一个文件时,该函数将返回一个FILE指针,如果文件打开失败,将返回一个NULL指针。如想打开test文件,进行写:
FILE *fp;if((fp=fopen(test,w))==NULL){printf(File cannot be opened\n);exit();}elseprintf(File opened for writing\n);……fclose(fp);
DOS操作系统对同时打开的文件数目是有限制的,缺省值为5,可以通过修改CONFIG.SYS文件改变这个设置。
2.关闭文件函数fclose()文件操作完成后,必须要用fclose()函数进行关闭,这是因为对打开的文件进行写入时,若文件缓冲区的空间未被写入的内容填满,这些内容不会写到打开的文件中去而丢失。只有对打开的文件进行关闭操作时,停留在文件缓冲区的内容才能写到该文件中去,从而使文件完整。再者一旦关闭了文件,该文件对应的FILE结构将被释放,从而使关闭的文件得到保护,因为这时对该文件的存取操作将不会进行。文件的关闭也意味着释放了该文件的缓冲区。int fclose(FILE *stream);它表示该函数将关闭FILE指针对应的文件,并返回一个整数值。若成功地关闭了文件,则返回一个0值,否则返回一个非0值。常用以下方法进行测试:
if(fclose(fp)!=0){printf(File cannot be closed\n);exit(1);}elseprintf(File is now closed\n);
当打开多个文件进行操作,而又要同时关闭时,可采用fcloseall()函数,它将关闭所有在程序中打开的文件。int fcloseall();该函数将关闭所有已打开的文件,将各文件缓冲区未装满的内容写到相应的文件中去,接着释放这些缓冲区,并返回关闭文件的数目。如关闭了4个文件,则当执行:n=fcloseall();时,n应为4。3.文件的读写(1).读写文件中字符的函数(一次只读写文件中的一个字符):
int fgetc(FILE *stream);int fgetchar(void);int fputc(int ch,FILE *stream);int fputchar(int ch);int getc(FILE *stream);int putc(int ch,FILE *stream);其中fgetc()函数将把由流指针指向的文件中的一个字符读出,例如:ch=fgetc(fp);将把流指针fp指向的文件中的一个字符读出,并赋给ch,当执行fgetc()函数时,若当时文件指针指到文件尾,即遇到文件结束标志EOF(其对应值为-1),该函数返回一个-1给ch,在程序中常用检查该函数返回值是否为-1来判断是否已读到文件尾,从而决定是否继续。
#include stdio.hmain(){FILE *fp;ch ch;if((fp=fopen(myfile.tex,r))==NULL){printf(file cannot be opened\n);exit(1);}while((ch=fgetc(fp))!=EOF) fputc(ch,stdout);fclose(fp);}该程序以只读方
您可能关注的文档
- CorelDRAWX4SP2精简版.doc
- coreldraw把彩图快速变黑白图.doc
- coreldraw详细教程笔记.doc
- CP5611卡的安装与卸载.doc
- cptu第六课私教销售之客户心理活动亲身体验.doc
- CPU引起的死机故障.doc
- cpU温度高的解决办法.doc
- CPU风扇UG培训.doc
- Crzpbvn农学院学生工作.doc
- CSSCI中比较好发的刊物.doc
- 中国国家标准 GB/T 32857-2025保护层分析(LOPA)应用导则.pdf
- 《GB/T 32857-2025保护层分析(LOPA)应用导则》.pdf
- GB/T 20736-2025传动用精密滚子链和板式链疲劳试验方法.pdf
- 《GB/T 20736-2025传动用精密滚子链和板式链疲劳试验方法》.pdf
- 中国国家标准 GB/T 20736-2025传动用精密滚子链和板式链疲劳试验方法.pdf
- 2026年毛概期末考试试题库附参考答案(研优卷).docx
- 2026广东省四会市教育局赴高校招聘教师98人(第一轮)备考题库附答案.docx
- 2026年重庆青年职业技术学院单招(计算机)测试模拟题库附答案.docx
- 2026年黑龙江三江美术职业学院单招(计算机)考试参考题库推荐.docx
- 2025年浙商银行嘉兴分行四季度社会招聘备考题库附答案.docx
最近下载
- 计量经济学期末考试试题及参考答案.docx VIP
- 对工程总承包发展的五点思考.pptx VIP
- 2025云南昆明巫家坝建设发展有限责任公司招聘23人考试练习试题及答案解析.docx VIP
- 以盈利能力分析优化企业决策的理论与实践.docx VIP
- 《农业企业经营管理学》课件.pptx VIP
- 2025人教版五年级数学上册各单元知识点归纳.pdf VIP
- 江苏万隆化学有限公司7000吨年苯甲酰氯、苯甲醛、二苯甲酮、苯甲酰胺系列产品项目环评报告书.doc VIP
- 2025云南昆明巫家坝建设发展有限责任公司招聘23人笔试模拟试题及答案解析.docx VIP
- 小学二年级 语文 期中考试题模拟试卷 带答案 Word可编辑可打印.doc VIP
- 北京市西城区2024-2025学年六年级上学期期末数学试卷.docx VIP
原创力文档


文档评论(0)