版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、文件是存储在外部存储设备上的一组数据。1什么是文件?操作系统以文件为单位管理数据。输入输出是一个数据传输的过程,数据像流水一样从一个地方流向另一个地方。因此,输入输出经常被形象地称为一个流,即一个输出流。语言把一个文件看作一个字符序列(字节),也就是说,一个文件是由一个字符数据序列(字节)组成的。iostream是字节流或二进制流。保存和交换数据。保存大容量数据。3文件分类:数据表示:二进制文件。文本文件。读写模式:按顺序读写文件(流)。随机读写文件。处理方法:缓冲文件。无缓冲文件。设备、内部存储器、缓冲区、匹配主机速度和数据转换。两个文件的优点:文件的操作过程,打开文件,建立文件和流之间的对
2、应关系。设置一个结构变量,将文件信息保存在内存中。读写文件、关闭文件并释放文件占用的资源。10.2文件操作过程和文件指针,文件指针,在缓冲文件系统中,每个被使用文件的信息(如文件名、位置、类型等)。)保存在特殊定义的结构类型的指针变量中。结构类型由用户定义,命名为文件,并且可以定义指向文件类型的结构指针。打开文件时,指针指向文件对应的结构变量,指针可以操作文件。FILE * fpFp是一个FILE指针变量,fp标识一个特定的磁盘文件,typedef struct简称;/*缓冲区满或空的程度*/无符号标志;/*文件状态标志*/char FD;/*文件描述符*/无符号字符保持;/*如果没有缓冲区,
3、不要读取字符*/短b大小;/*缓冲区大小*/无符号char *缓冲区;/*数据缓冲区的位置*/无符号字符* curl/*指针当前指向*/无符号ist amp;/*临时文件指示器*/短令牌;/*用于有效性检查*/FILE;在stdio.h文件中,定义了3种文件读写方法,可分为顺序读写、随机读写、顺序读写、顺序反向读写。随机读写:在给定的位置读写。10.3文件打开和关闭,文件打开函数fopen(),fopen fopen函数的原型在stdio.h文件中描述,该函数是打开缓冲区文件。使用方法:FILE * fpfp=fopen(文件名,模式);打开文件的文件名或设备名。如何读写文件。指向文件信息结构
4、的指针。FP=fopen(“a : Wang . dat”,“w”);描述:如果fopen失败,函数返回空值;指针;当文件打开不正确时,程序不应继续执行。一般来说,文件的打开方式如下:如果(FP=fopen(文件名,模式)=null) printf(“文件打开错误!n”);出口(1);文件读写方法说明:文件关闭功能fclose(),文件使用后必须关闭,关闭文件的目的是:确保文件的数据不丢失,并将缓冲区的数据写回文件。释放缓冲区。关闭文件功能的使用:FILE * fpFP=fopen(“a :d . dat”,“w”);/*文件读写*/fc lose(FP);描述:如果正确关闭,fclose返回
5、0;关闭失败的fclose返回非0。10.4文件的顺序读写,通过stdio.h中定义的一组函数实现,字符输入和输出函数fputc函数和fgetc函数,fputc函数,使用方法:fputc (ch,FP);含义:将字符ch写入文件指针对应的文件当前位置。返回值:写正确返回ch的值;失败后返回EOF(在stdio.h中定义为-1)。fgetc函数,使用方法:ch=fgetc(FP);/*ch是一个字符变量。*/,意思是:从对应于文件指针fp的可读文件的当前位置读取一个字符,并将赋值返回给ch。feof函数,使用方法:I=feof(FP);意思:判断文件是否结束。返回值:1表示文件结束;0表示文件未
6、完成。示例10-1从键盘输入10个字符,并将它们写入文件f2.txt,# include # include void main(void)int I;char ch文件*fp。/*定义文件指针*/if(FP=fopen(“c : f 2 . txt”,“w”)=null)/*以书面形式打开文件*/printf(文件打开错误!n);出口(1);/*如果无法打开,则结束*/for(I=1;i=10I) /*循环10次*/ch=getchar();/*从键盘输入字符*/fputc(ch,FP);/*将字符写入文件*/if(fclose(fp) /*关闭文件*/printf(文件关闭错误!n);出口
7、(1);/*如果不能关闭则结束*/,#包含#包含无效主(void)int I;char ch文件*fp。/*定义文件指针*/如果(FP=fopen (f1.txt,w)=空)/*以书面形式打开文件*/printf(文件打开错误!n);出口(1);/*如果无法打开,则结束*/for(I=1;i=10I) /*循环10次*/ch=getchar();/*从键盘输入字符*/fputc(ch,FP);/*将字符写入文件*/if(fclose(fp) /*关闭文件*/printf(文件关闭错误!n);出口(1);/*如果无法关闭,则结束*/,示例10-2从键盘输入10个字符,将其写入文件f1.txt,然
8、后从该文件中读出字符并显示在屏幕上。如果(FP=fopen(“f1 . txt”,“r”)=null)/*再次打开文件读取*/printf(文件打开错误!n);出口(1);对于(I=1;i=10I)ch=fgetc(FP);/*从文件中读取字符*/put char(ch);/*向屏幕输出字符*/if(fclose(fp) /*关闭文件*/printf(文件关闭错误!n);出口(1);# include # include void main(void)char ch;文件*fin,* fout/*定义文件指针*/如果(fin=fopen(“c : f 1 . txt”,“r”)=null)/*
9、通过读取*/printf打开文件(文件打开错误!n);出口(1);如果(fout=fopen (c:f4.txt,w)=null)/*以书面形式打开文件*/printf(文件打开错误!n);出口(1);/*如果无法打开,则结束*/,示例10-3将磁盘文件f1.txt的内容复制到另一个文件f4.txt,同时(ch=fgetc(fin)!=EOF) fputc(ch,fout);/*从文件fin中读取字符并将其写入文件fout */if(fclose(fin) /*关闭文件*/printf(文件关闭错误!n);出口(1);/*如果不能关闭则关闭*/如果(fclose(fout) /*关闭文件*/打
10、印(文件关闭错误!n);出口(1);/*如果不能关闭则结束*/,文件中字符串的输入输出函数,字符串的输入函数,使用方法:fgets(字符串,n,FP);意思是:从文件当前对应fp的位置读取n-1个字符到str指向的存储单元。并在末尾加上0来表示字符串的结尾。有三种情况可以使输入结束:读取n-1个字符;读取时遇到n;读取时遇到文件结束标志。字符串输出函数,使用fput(str,FP);意思是:将字符串指向的字符串输出到fp对应的文件中,忽略输出字符串结束标志0。#包括#包括#定义大小256无效主(int argc,char *argc)字符缓冲大小;文件*fpr,* fpwfpw=stdprn。
11、如果(fpr=fopen (argc1, r )=空)打印f(“文件打开错误!n”);退出(0);while (fgets (buff,SIZE,fpr)!=空)。f close(FPR);打开文件,输入。输出到打印机。文件指针执行设备:stdprn打印机;Stdaux串行端口;标准输入、标准输出.从文件中读出一个字符串,并将其内容输出到屏幕上。# include # include void main(void)char ch80;文件*fin,* fout/*定义文件指针*/如果(fin=fopen(“e : f 5 . txt,r)=null)/*通过读取*/printf打开文件(文件打
12、开错误!n);出口(1);如果(fout=fopen (f6.txt,w)=null)/*以书面形式打开文件*/printf(文件打开错误!n);出口(1);/*如果无法打开,则结束*/,示例10-4使用字符串输入和输出功能,将一个磁盘文件中的f5.txt复制到另一个文件中的f6.txt。,而(!feof(fin)fgets(ch,80,fin);/*从文件fin */fputs(ch,fout)中读取字符;/*写入文件fout */if(fclose(fin) /*关闭文件*/printf(文件关闭错误!n);出口(1);/*如果不能关闭则关闭*/如果(fclose(fout) /*关闭文件
13、*/打印(文件关闭错误!n);出口(1);/*如果不能关闭则结束*/,文件格式输入输出函数,fp文件指针格式,格式描述字符串,取%d、%x、%f、%c等。解释输入转换的格式。int a;文件*fp。如果(fp=fopen (e:text.txt , r )=NULL)printf(无法打开文件);退出(0);fscanf (FP,“%s% d”,s,)打开文件并读出数据。示例10-5:从text.txt中读取一个字符串和一个十进制数,并将其输出到显示器。fp文件指针;格式,即格式描述字符串,采用%d、%x、%f、%c等。解释输出转换的格式。Arg1argn,输出列表。用法:fprintf (f
14、p,format,arg1,arg n);含义:以指定的格式将arg1arg n的值写入fp文件的当前位置。FILE * fpFP=fopen(“s . dat”,“w”);fprint(fp,“%d%c”,123,c);fc lose(FP);打印格式功能fprintf、文件数据块输入和输出功能buf(空类型指针)接收数据地址;Size(整数)一次读取的数据字节数;计数(整数)读取次数;Fp对应于输入文件的文件指针。函数,使用:fread(buf,大小,计数,FP);意思是:从fp指向的文件的当前位置,每次读取大小字节,读取数据的计数次数,并将其存储在buf指向的内存中。返回值:调用正确,返回输入的项数;调用错误,返回-1(EOF)。FILE * fpchar str80fp=fopen(s.dat , r );fread(str,20,3,FP);# include # inc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 大气中国风故宫可编辑修改套用模板
- 岳池县农村供水一体化建设项目-大高滩水厂扩能项目水土保持方案报告表
- 某汽车零部件厂生产管理办法
- 印刷厂印刷车间安全制度
- 糖尿病患者健康管理核查表
- 2026标准化管理岗面试题及答案
- 2026编导岗位面试题库及答案
- 幼儿园教师安全职责
- 汽车基础网络安全 11
- 2026年数字藏品跨链通信实现
- 保险学 课件 第九章 健康保险与意外伤害保险
- 欠薪分期支付协议书
- 新版施工现场临时用电安全管理合同书模板
- 东莞市职工基本医疗保险暂行规定实施细则
- 生产经营单位主要负责人和安全管理人员安全培训资料
- 配套课件-文化市场营销学
- 职业道德与法治综合练习2024-2025学年中职高教版
- 南京信息工程大学《遥感数字图像处理》2023-2024学年第一学期期末试卷
- ISO13485与GMP的区别培训
- 《胖东来企业文化指导手册》
- DZ∕T 0170-2020 浅层地震勘查技术规范(正式版)
评论
0/150
提交评论