版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
8.3文件的打开与关闭一、文件的打开方法:为了打开一个文件,首先要为该文件定义一个文件类型指针;然后用C语言提供的fopen()函数打开文件。fopen函数有两个参数:“文件名”与“文件使用方式”,它们均是字符串。一般形式:FILE*文件指针名;…文件指针名=fopen("文件名","文件使用方式");其中,“文件指针名”是FILE类型的指针变量;
“文件名”是被打开文件的文件名;
“使用文件方式”是指文件的类型和操作要求。“文件名”是字符串常量或字符串数组。举例其意义是在当前目录下打开文件teat.dat,只允许进行“读”操作,并使fp指向该文件。举例其功能是打开C盘上子目录TC里的文件teat.dat,这是一个二进制文件,只允许按二进制方式进行读操作两个反斜线“\\”中的第一个表示转义字符,第二个表示目录。FILE*fp;fp=(“test.dat","r");FILE*fp;fp=("C:\\TC\\teat.dat","rb");char*mode含义注释“r”只读打开文本文件,仅允许从文件读取数据“w”只写打开文本文件,仅允许向文件输出数据“a”追加打开文本文件,仅允许从文件尾部追加数据“rb”只读打开二进制文件,仅允许从文件读取数据“wb”只写打开二进制文件,仅允许向文件输出数据“ab”追加打开二进制文件,仅允许从文件尾部追加数据“r+”读写打开文本文件,允许输入/输出数据到文件“w+”读写创建新文本文件,允许输入/输出数据到文件“a+”读写打开文本文件,允许输入/输出数据到文件“rb+”读写打开二进制文件,允许输入/输出数据到文件“wb+”读写创建新二进制文件,允许输入/输出数据到文件“ab+”读写打开二进制文件,允许输入/输出数据到文件对于文件使用方式有以下几点说明:(1)文件使用方式由“r,w,a,t,b,+”这六个字符拼成,各字符的含义是:r(read)表示读出,w(write)表示写入,a(append)表示在文件末尾追加,t(text)代表文本文件,可省略不写,b(binary)代表二进制文件,+表示读和写。(2)凡用“
r”打开一个文件时,该文件必须已经存在,且只能从该文件读出。(3)用“w”打开的文件只能向该文件写入。若打开的文件不存在,则以指定的文件名建立该文件,若打开的文件已经存在,则将该文件删去,重建一个新文件。(4)若要向一个已存在的文件追加新的信息,只能用“a”方式打开文件。但此时该文件必须是存在的,否则将会出错。(5)在打开一个文件时,如果出错,fopen将返回一个空指针值NULL。在程序中可以用这一信息来判别是否完成打开文件的工作,并作相应的处理。例如,下列程序段可用来检查d盘上的一个文件file11.dat是否成功打开,并且进行相应处理:if((fp=fopen("d:\\file11.dat","rb")==NULL){printf("\ncannotopenthefiled:\\file11.dat");exit(0);}这个程序段的作用是:如果返回的指针为非空表示正常打开文件,若为空则表示不能打开d盘上的文件file11.dat文件,打印出错信息“cannotopenthefiled:\\file11.dat”,然后执行exit(0)退出程序。标准输入文件(键盘),标准输出文件(显示器),标准出错输出(出错信息)是由系统打开的,可直接使用。二、文件的关闭方法:使用fclose()函数。一般形式:fclose(文件指针);举例FILE*fp;…fclose(fp);如果不关闭文件而直接使程序停止运行,这时会丢失缓冲区中还未写入文件的部分信息
将fp指向的缓冲区中的数据存放到外存储器的文件中,然后释放该缓冲区,使文件指针变量不再指向与该文件对应的FILE结构,从而断开与文件的关联。操作正常返回0,否则返回EOF(是在stdio.h文件中定义的符号常量,值为-1)。#include<stdio.h>#include<stdlib.h>voidmain(){
FILE*fpFile;intnStatus=0;If(fpFile=fopen("a.txt","w+"))==NULL){printf(“Openfilefailed!\n”);
exit(0);}fprintf(fpFile,"%s","TestFile");nStatus=fclose(fpFile);printf("%d",nStatus);}【例1】打开名为“a.txt”的文件,并向文件输出字符串“TestFile”,然后关闭文件,同时在屏幕上输出fclose的返回值。中断正在执行的程序读写方式用exit函数时加/*定义声明文件指针*/FILE*fp;/*打开文件*/fp=fopen("文件名","r");/*判断是否打开文件*/if(fp==NULL){/*当文件打开失败时的处理*/}/*对文件进行读写操作*//*关闭文件*/fclose(fp);文件操作的一般步骤例8-1
以只读写方式打开一个名为test.txt的文件,向文件中写入字符串”cprogram”,然后关闭文件,并判断文件是否成功打开与关闭。#include<stdio.h>voidmain(){FILE*fp;intk;fp=fopen("test.txt","w+");if(fp==NULL){printf("Fileopenerror\n");
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年广安职业技术学院单招职业适应性测试参考题库及答案解析
- 2026年甘肃卫生职业学院单招职业适应性考试备考试题及答案解析
- 2026年哈尔滨幼儿师范高等专科学校单招职业适应性考试参考题库及答案解析
- 2026年德阳城市轨道交通职业学院单招职业适应性测试参考题库及答案解析
- 2026年泉州医学高等专科学校单招职业适应性考试模拟试题及答案解析
- 期末考试总结23篇
- 2026年黑龙江建筑职业技术学院单招职业适应性考试模拟试题及答案解析
- 2026年唐山幼儿师范高等专科学校单招职业适应性测试模拟试题及答案解析
- 2026年辽宁民族师范高等专科学校单招职业适应性考试模拟试题及答案解析
- 2026年河南工业和信息化职业学院单招职业适应性考试模拟试题及答案解析
- 箱式变电站技术规范书
- 大学生体质健康标准与锻炼方法(吉林联盟)智慧树知到期末考试答案章节答案2024年东北师范大学
- 急救在身边智慧树知到期末考试答案章节答案2024年山东第一医科大学
- 《团体标准火力发电厂生产管理系统智能化功能测试技术导则》
- 临床护理技术操作常见并发症预防及处理规范
- 文员实习报告1000字2篇
- 2021地质灾害治理工程施工质量验收规范
- 零食网店开店计划书
- 施工现场安全检查制度
- 旅游规划与开发(第五版)课件 第九章 旅游公共服务体系规划
- 2024年南网能源公司招聘笔试参考题库含答案解析
评论
0/150
提交评论