fseek函数
- 格式:doc
- 大小:12.39 KB
- 文档页数:2
c语言读取文件回退一行代码在C语言中,我们常常需要读取文件并进行处理。
但是有时候,我们可能会需要回退一行代码来进行一些操作。
那么,怎样才能在C 语言中实现这个功能呢?使用C语言中的标准输入输出库stdio.h中的函数fseek()和ftell()可以实现文件指针的移动和位置查询。
可以通过在读取文件前先记录当前位置,然后在需要回退时使用fseek()函数将文件指针移动到之前记录的位置,再进行相应的操作。
具体做法如下:1. 在读取文件前,使用ftell()函数获取当前文件指针的位置,记录在一个变量中。
2. 读取文件时,依次读取每一行代码。
如果需要回退,使用fseek()函数将文件指针移动到之前记录的位置。
3. 继续读取文件,直到读取到需要处理的行或者文件结束。
4. 进行相应的操作后,继续读取文件,直到文件结束。
下面是一个简单的示例代码:```#include <stdio.h>#include <stdlib.h>int main(){char filename[] = 'test.txt';FILE* fp = fopen(filename, 'r');if (fp == NULL) {printf('Failed to open file %s', filename);return 1;}char buffer[100];long int cur_pos = ftell(fp);while (fgets(buffer, 100, fp) != NULL) { if (/*需要回退*/) {fseek(fp, cur_pos, SEEK_SET);printf('Rollback to position %ld', cur_pos);break;}else {printf('%s', buffer);cur_pos = ftell(fp);}}while (fgets(buffer, 100, fp) != NULL) { printf('%s', buffer);}fclose(fp);return 0;}```在这个示例中,我们读取了一个名为test.txt的文件,然后依次读取每一行代码。
C语言文件操作函数13.1C语言文件1,两种文件存取方式(输入,输出方式)顺序存取直接存取2,数据的两种存放形式文本文件二进制文件13.2文件指针定义文件类型指针变量的一般形式:FILE *指针变量名;例如:FILE *fp1,*fp2;13.3打开文件在使用文件之前,需打开文件.在C里使用fopen函数打开文件.格式为:fopen(文件名,文件使用方式);此函数返回一个指向FILE类型的指针.如:FILE *fp;fp=fopen("file_1","r");如果调用成功,fp就指向file_1,否则返回为NULL,所以为了保证文件的正确使用,要进行测试.采用如下语句:If((fp=fopen("file_1","r"))==NULL){printf("Cannot open this file\n");exit(0);}最常用的文件使用方式及其含义如下:1,"r".为读而打开文本文件.(不存在则出错) 2,"rb".为读而打开二进制文件.3,"w".为写而打开文本文件.(若不存在则新建,反之,则从文件起始位置写,原内容将被覆盖) 4,"wb".为写而打开二进制文件.5,"a".为在文件后面添加数据而打开文本文件.(若不存在,则新建;反之,在原文件后追加)6,"ab".为在文件后面添加数据而打开一个二进制文件.最常用的文件使用方式及其含义如下:7,"r+".为读和写而打开文本文件.(读时,从头开始;在写数据时,新数据只覆盖所占的空间,其后不变) 8,"rb+".为读和写而打开二进制文件.只是在随后的读写时,可以由位置函数设置读和写的起始位置. 9,"w+".首先建立一个新文件,进行写操作,随后可以从头开始读.(若文件存在,原内容将全部消失) 10,"wb+".功能与"w+"同.只是在随后的读写时,可以由位置函数设置读和写的起始位置.最常用的文件使用方式及其含义如下:11,"a+".功能与"a"相同;只是在文件尾部添加新的数据后,可以从头开始读.12,"ab+".功能与"a+"相同;只是在文件尾部添加新数据之后,可以由位置函数设置开始读的起始位置. 13.4关闭文件当文件的读写操作完成之后,使用fclose函数关闭文件.格式如下:fclose(文件指针)如:fclose(fp);13.5调用fgetc和fputc函数进行输入和输出1,调用fputc函数输出一个字符功能是:将字符ch写到文件指针fp所指的文件中去.当输出成功,putc函数返回所输出的字符;否则,返回一个EOF值.EOF是在stdio.h库函数文件中定义的符号常量,其值等于-1.13.5调用fgetc和fputc函数进行输入和输出例如:把从键盘输入的文本按原样输出到名为file_1.dat文件中,用字符@作为键盘输入结束标志. #includeVoid main(){FILE *fpout;char ch;if(fpout=fpopen("file_1","w")==NULL){printf("Cannot open this file!\n");exit(0);}ch=getchar();while(ch!='@'){ fputc(ch,fpout); ch=getchar(); }fclose(fpout);}2.调用fgetc函数输入一个字符功能是:从pf指定的文件中读如一个字符,并把它作为函数值返回.例如:把一个已存在磁盘上的file_1.dat文本文件中的内容,原样输出到终端屏幕上.#includevoid main(){FILE *fpin;char ch;if((fpin=fopen("file_1.dat","r"))==NULL){ printf("Cann't open this file!\n");exit(0);} ch=fgetc(fpin);while (ch!=EOF){ putchar(ch); ch=fgetc(fpin);}fclose(fpin);}13.6判断文件结束函数feofEOF可以作为文本文件的结束标志,但不能作为二进制文件的结束符.feof函数既可以判断二进制文件,又可以判断文本文件.例:编写程序,用于把一个文本文件(源)复制到另一个文件(目的)中,源文件名和目的文件名由命令行输入.命令形式如下:可执行程序名源文件名目的文件名#includevoid filecopy(FILE* ,FILE *);void main(int argc,char *argv[]){FILE *fpin,*fpout;if(argc==3){ fpin=fopen(argv[1],"r");fpout=fopen(argv[2],"w");filecopy(fpin,fpout);fclose(fpin);fclose(fpout);}else if(argc>3)printf("The file names too many!!\n";elseprintf("There are no file names for input or output!!\n );}void filecopy(FILE *fpin,FILE *fpout){char ch;ch=getc(fpin);while(!feof(fpin)){putc(ch,fpout); ch=getc(fpin);}}13.7fscanf函数和fprintf函数1,fscanf函数fscanf只能从文本文件中按格式输入,和scanf函数相似,只不过输入的对象是磁盘上文本文件中的数据.调用形式为:fscanf(文件指针,格式控制字符串,输入项表)例如:fscanf(fp,"%d%d",&a,&b);fscanf(stdin,"%d%d",&a,&b);等价于scanf("%d%d",&a,&b);3.fprintf函数fprintf函数按格式将内存中的数据转换成对应的字符,并以ASCII代码形式输出到文本文件中.Fprintf 函数和printf函数相似,只是将输出的内容按格式存放到磁盘的文本文件中.调用形式如下:fprintf(文件指针,格式控制字符串,输出项表)如:fprintf(fp,"%d %d",x,y);以下语句 fprintf(stdout,"%d %d",x,y)13.8fgets函数和fputs函数1,fgets函数fgets函数用来从文件中读入字符串.调用形式如下: fgets(str,n,fp);函数功能是:从fp所指文件中读入n-1个字符放入str 为起始地址的空间内;如果在未读满n-1个字符时,则遇到换行符或一个EOF结束本次读操作,并已str作为函数值返回. 13.8fgets函数和fputs函数2,fputs函数fput函数把字符串输出到文件中.函数调用形式如下: fputs(str,fp);注意:为了便于读入,在输出字符串时,应当人为的加诸如"\n"这样的字符串.#include <stdio.h>#include <iostream>int main(int argc, char *argv[]){char arr[10] ;char *ap = "hello!" ;FILE *fp ;if ((fp = fopen("hello.txt", "wt+")) == NULL) {printf("error!") ;exit(1) ;}fputs(ap, fp) ;rewind(fp) ; //fgets(arr, 10, fp) ;printf("%s\n", arr) ;fclose(fp) ;return 0 ;}13.9fread函数和fwrite函数例如有如下结构体:struct st{char num[8];float mk[5];}pers[30];以下循环将把这30个元素中的数据输出到fp所指文件中.for(i=0;i<30;i++)fwrite(&pers[i],sizeof(struct st),1,fp);13.9fread函数和fwrite函数以下语句从fp所指的文件中再次将每个学生数据逐个读入到pers数组中.i=0;fread(&pers[i],sizeof(struct st),1,fp);while(!feof(fp)){ i++;fread(&pers[i],sizeof(struct st),1,fp);}13.10文件定位函数1,fseek函数fseek函数用来移动文件位置指针到指定的位置上,接着的读或写操作将从此位置开始.函数的调用形式如下:fseek(pf,offset,origin)pf:文件指针offset:以字节为单位的位移量,为长整形.origin:是起始点,用来指定位移量是以哪个位置为基准的.1,fseek函数位移量的表示方法标识符数字代表的起始点SEEK_SET 0 文件开始SEEK_END 2 文件末尾SEEK_CUR 1 文件当前位置假设pf已指向一个二进制文件,则;fseek(pf,30L,SEEK_SET)fseek(pf,-10L*sizeof(int),SEEK_END)对于文本文件,位移量必须是0;如:fseek(pf,0L,SEEK_SET)fseek(pf,0L,SEEK_END)2. ftell函数ftell函数用以获得文件当前位置指针的位置,函数给出当前位置指针相对于文件开头的字节数.如;long t;t=ftell(pf);当函数调用出错时,函数返回-1L.我们可以通过以下方式来测试一个文件的长度: fseek(fp,0L,SEEK_END);t=ftell(fp);3.rewind函数调用形式为:rewind(pf);函数没有返回值.函数的功能是使文件的位置指针回到文件的开头.13.10文件应用在磁盘上的test.txt文件中放有10个不小于2的正整数,用函数调用方式编写程序.要求实现:1,在被调函数prime中,判断和统计10个整数中的素数以及个数.2,在主函数中将全部素数追加到磁盘文件test.txt的尾部,同时输出到屏幕上.#include#includeInt prime(int a[],int n){int I,j,k=0,flag=0;for(i=0;i { for(j=2;j if(a[i]%j==0){ flag=0; break;}else flag=1;if(flag){a[k]=a[i];k++;}}return k; }void main(){int n,I,a[10];FILE *fp;fp=fopen("test1-2.txt","r+");for(n=0;n<10;n++)fscanf(fp,"%d",&a[n]);n=prime(a,n);fseek(fp,o,2);for(i=0;i {printf("%3d",a[i]);fprintf(fp,"%3d",a[i]);}fclose(fp);}文件操作函数全clearerr(清除文件流的错误旗标)相关函数feof表头文件#include<stdio.h>定义函数void clearerr(FILE * stream);函数说明clearerr()清除参数stream指定的文件流所使用的错误旗标。
visual studio 文件操作函数Visual Studio是一款功能强大的集成开发环境(Integrated Development Environment,简称IDE),广泛用于开发各种类型的应用程序。
在Visual Studio中,文件操作是开发过程中非常常见和重要的一部分。
本文将介绍一些常用的Visual Studio文件操作函数,帮助开发者更加高效地处理文件相关操作。
一、文件创建与打开1. `CreateFile`函数:用于创建或打开一个文件。
该函数可以指定文件名、访问权限、共享模式等参数,并返回一个表示文件句柄的值。
2. `fopen`函数:用于打开一个文件,并返回一个指向该文件的指针。
通过该指针,可以进行文件读写操作。
二、文件读写操作1. `ReadFile`函数:用于从文件中读取数据。
该函数可以指定文件句柄、读取的字节数、读取数据的缓冲区等参数,并返回读取的字节数和读取结果。
2. `WriteFile`函数:用于向文件中写入数据。
该函数可以指定文件句柄、要写入的数据、写入的字节数等参数,并返回写入的字节数和写入结果。
3. `fgets`函数:用于从文件中读取一行数据。
该函数可以指定要读取的字节数、读取数据的缓冲区和文件指针,并返回指向读取数据的指针。
三、文件定位与指针操作1. `fseek`函数:用于定位文件指针的位置。
该函数可以指定文件指针、偏移量和起始位置,并返回定位结果。
2. `ftell`函数:用于获取文件指针的当前位置。
该函数可以指定文件指针,并返回当前位置的偏移量。
3. `rewind`函数:用于将文件指针重新定位到文件的起始位置。
该函数可以指定文件指针,并无返回值。
四、文件关闭与删除1. `fclose`函数:用于关闭一个已打开的文件。
该函数可以指定要关闭的文件指针,并返回关闭结果。
2. `remove`函数:用于删除一个文件。
该函数可以指定要删除的文件名,并返回删除结果。
文件操作是一种重要的输入输出方式,即从数据文件读取数据或将结果写入数据文件。
MATLAB提供了一系列低层输入输出函数,专门用于文件操作。
1、文件的打开与关闭1)打开文件在读写文件之前,必须先用fo pen函数打开或创建文件,并指定对该文件进行的操作方式。
fopen函数的调用格式为:fid=fopen(文件名,…打开方式‟)说明:其中fid用于存储文件句柄值,如果返回的句柄值大于0,则说明文件打开成功。
文件名用字符串形式,表示待打开的数据文件。
常见的打开方式如下:…r‟:只读方式打开文件(默认的方式),该文件必须已存在。
λ…r+‟:读写方式打开文件,打开后先读后写。
该文件必须已存在。
λ…w‟:打开后写入数据。
该文件已存在则更新;不存在则创建。
λ…w+‟:读写方式打开文件。
先读后写。
该文件已存在则更新;不存在则创建。
λ…a‟:在打开的文件末端添加数据。
文件不存在则创建。
λ…a+‟:打开文件后,先读入数据再添加数据。
文件不存在则创建。
λ另外,在这些字符串后添加一个“t”,如…rt‟或…wt+‟,则将该文件以文本方式打开;如果添加的是“b”,则以二进制格式打开,这也是fop en函数默认的打开方式。
2)关闭文件文件在进行完读、写等操作后,应及时关闭,以免数据丢失。
关闭文件用f close函数,调用格式为:sta=fclose(fid)说明:该函数关闭f id所表示的文件。
sta表示关闭文件操作的返回代码,若关闭成功,返回0,否则返回-1。
如果要关闭所有已打开的文件用fc lose(…all‟)。
2、二进制文件的读写操作1)写二进制文件fwrite函数按照指定的数据精度将矩阵中的元素写入到文件中。
其调用格式为:COUNT=fwrite(fid,A,precis ion)说明:其中COUN T返回所写的数据元素个数(可缺省),fid为文件句柄,A用来存放写入文件的数据,precis ion代表数据精度,常用的数据精度有:char、uchar、int、long、float、double等。
c语⾔读取⽂件最后⼀⾏定位问题fseek函数可以在fopen打开的⽂件中直接移动到任意字节处,
函数原型: int fseek(fp,0L,SEEK_SET);
fseek 函数第⼀个参数是要操作的⽂件指针,第⼆个是定位的偏移量,long类型,第三个参数是模式。
例如: fseek ( fp, 0L,SEEK_SET); 定位到⽂件开始处。
fseek ( fp,+10L,SEEK_CUR);定位在当前位置的后10个字节处。
fseek (fp,-10L,SEEK_END);定位在⽂件末尾,然后向前移动10个字节处。
但是若是和fgetc函数⼀起⽤时,注意fgetc函数每使⽤⼀次就会使光标向后移动⼀字节。
所以: fp = fopen(file,"r");
fseek(fp,0L,SEEK_END);
ch = fgetc(fp);
fseek (fp,-2L,SEEK_CUR); //函数必须向前位移两个字节才能读到读过的上⼀个字节。
ch = fgetc(fp);。
fseek函数的用法 pythonfseek函数是Python中用于文件操作的一个非常实用的函数,它能够改变文件指针的位置,以便在文件中进行特定的定位。
在处理文本文件和二进制文件时,fseek函数特别有用。
下面我们将详细介绍fseek函数的用法以及如何在Python中使用它。
一、fseek函数的基本用法fseek函数的基本语法如下:`fseek(file_object,offset,whence)`其中,file_object是要进行定位的文件对象,offset是一个整数,表示从哪个位置开始偏移,whence也是一个整数,表示偏移的基准位置。
*`whence`参数的值可以是以下三种之一:+`0`表示从文件的开头开始偏移。
+`1`表示从当前文件指针的位置开始偏移。
+`2`表示从文件的末尾开始偏移。
下面是一个简单的示例,展示了如何使用fseek函数在文件中进行定位:```python#打开文件file=open("example.txt","r")#将文件指针定位到第5个字符处fseek(file,5,0)#读取文件中的内容line=file.readline()print(line)#输出:Thisisatestline.#关闭文件file.close()```二、fseek函数的应用场景fseek函数在Python中的使用非常广泛,以下是一些常见的应用场景:1.遍历文件:通过多次调用fseek函数,可以将文件指针定位到文件的任意位置,从而实现文件的遍历。
2.查找特定内容:可以在文件中使用fseek函数定位到某个位置,然后读取或搜索该位置附近的内容,以查找特定的数据或信息。
3.处理大文件:对于大文件,使用fseek函数可以有效地将文件指针定位到需要处理的区域,从而提高处理效率。
4.二进制文件处理:fseek函数也适用于处理二进制文件。
通过将文件指针定位到特定的内存地址或数据结构中,可以执行各种读写操作。
fseek函数
fseek函数是一种C/C++中常用的文件处理函数,它的作用是在给定的文件中移动指针的位置。
它的完整声明如下:int fseek( FILE *stream, long offset, int fromwhere ),其中参数stream是指向所操作文件指针的指针;offset是从当前位置移动的字节数;fromwhere是指定移动位置的起点(常用有SEEK_SET,SEEK_CUR,SEEK_END),返回值为0表示移动成功,非0表示移动失败。
fseek函数可以用来实现一些复杂的文件操作,比如定位文件读写指针、改变文件内部字节序等。
如果不使用fseek函数,同样可以实现文件的操作,但操作起来会比较复杂和低效,因为要调用多个不同的函数。
同时,fseek函数也用于改变文件的内部字节序,可以将任意文件以不同的方式输出,如将一个小端的文件转换成大端的文件等。
fseek函数常常被用来实现文件的随机访问,从而使得文件操作的过程更加高效。
通过fseek函数,可以将任意文件中的任意位置访问,而不必从文件头开始顺序访问,也不必每次都是从一个固定的位置访问。
fseek函数还可以用来实现文件的重定位,当我们希望将文件中的一些位置重新定位到另一个位置时,可以使用fseek函数来实现。
fseek函数还可以用来读取文件头部信息,比如文件头部包含文件的大小、创建时间等,这些文件头部信息可以用fseek函数来定位并读取。
总之,fseek函数是一个非常有用的文件处理函数,它可以被用来实现文件的随机访问、重定位、读取文件头部信息和改变文件内部字节序等复杂操作,使得文件处理更加简便、高效。
fseek原理-回复fseek原理解析:从文件流中定位文件位置fseek是一种文件操作函数,用于在文件流中定位文件的读写位置。
在编程中,我们经常需要对文件进行读写操作,而文件的读写位置是非常重要的。
fseek函数可以帮助我们在文件流中准确地定位到指定的位置,以进行下一步的读写操作。
一、fseek函数的定义和参数在了解fseek函数的原理之前,我们先来了解一下它的定义和参数。
fseek函数的定义如下:int fseek(FILE *stream, long int offset, int whence);参数解释如下:1. stream:指向FILE对象的指针,它指定了要进行位置定位的文件流。
2. offset:长整型参数,它指定了偏移量。
offset的值可以是正值、负值或0,具体取决于whence参数。
3. whence:用于指定起始位置。
它可以取如下三个值:- SEEK_SET:表示以文件开头为起始位置进行定位。
- SEEK_CUR:表示以当前位置为起始位置进行定位。
- SEEK_END:表示以文件末尾为起始位置进行定位。
二、fseek函数的工作原理了解了fseek函数的参数之后,我们可以来探讨一下它的工作原理。
fseek 函数主要涉及两个步骤:检查参数的有效性和移动文件指针的位置。
1. 检查参数的有效性在调用fseek函数之前,我们需要检查输入的参数是否有效。
这一步骤包括以下几个方面:- 检查传入的FILE指针是否有效,即stream是否为空。
- 检查whence参数是否合法,即其值是否在合理的范围内。
- 根据whence参数的值,判断offset的范围是否合理。
例如,在使用SEEK_CUR时,offset值应该为正值或负值。
如果参数检查通过,那么我们就可以进行下一步的定位操作。
2. 移动文件指针的位置根据fseek函数的参数,在输入的文件流中进行位置的定位。
具体的工作原理如下:- 首先,根据whence参数的值,确定对应的起始位置。
linux中text函数族的用法在Linux中,text函数族是一组用于处理文本文件的函数。
这些函数提供了一种方便有效的方式来操作文本文件,包括读取、写入、查找和修改。
在本篇文章中,我将详细介绍Linux中text函数族的用法。
1. fopen函数:fopen函数用于打开一个文本文件,并返回一个指向该文件的指针。
它有两个参数,文件名和打开模式。
打开模式可以是读取模式("r")、写入模式("w")或追加模式("a")。
以下是fopen函数的示例用法:cFILE *file = fopen("example.txt", "r");if (file == NULL) {printf("文件打开失败\n");return 1;}2. fgets函数:fgets函数用于从文本文件中读取一行内容,并将其存储在一个字符数组中。
它有三个参数,第一个是用于存储读取的内容的字符数组,第二个是要读取的最大字符数,第三个是文件指针。
以下是fgets函数的示例用法:cchar buffer[100];while (fgets(buffer, sizeof(buffer), file) != NULL) {printf("%s", buffer);}3. fputs函数:fputs函数用于将一个字符串写入到文本文件中。
它有两个参数,第一个是要写入的字符串,第二个是文件指针。
以下是fputs函数的示例用法:cfputs("Hello, World!", file);4. fseek函数:fseek函数用于移动文件指针到指定位置。
它有三个参数,第一个是文件指针,第二个是要移动的字节数,第三个是起始位置。
起始位置可以是文件开头(SEEK_SET)、当前位置(SEEK_CUR)或文件末尾(SEEK_END)。
c语言中读取文件大小的函数摘要:1.文件读取概述2.C语言中读取文件大小的函数a.fseek函数b.ftell函数c.fgetpos函数d.setpos函数3.函数使用示例4.总结正文:在C语言中,读取文件大小是一个常见的操作。
文件大小是指文件在磁盘上存储的字节数。
在处理文件时,了解文件的大小是很重要的。
本篇文章将介绍C语言中读取文件大小的函数。
1.文件读取概述在C语言中,有多种函数可以实现文件读取。
这些函数包括fopen、fclose、fread、fwrite等。
然而,这些函数并不能直接提供文件大小信息。
要获取文件大小,需要使用特定的函数。
2.C语言中读取文件大小的函数在C语言中,有四个函数可以用来读取文件大小:fseek、ftell、fgetpos 和setpos。
这四个函数都可以获取文件的大小,但它们的实现方式略有不同。
a.fseek函数fseek函数用于在文件中设置读取位置。
通过该函数,可以将文件读取指针定位到文件末尾,从而获取文件大小。
fseek函数的原型如下:```coff_t fseek(FILE *stream, off_t offset, int whence);```其中,`stream`是文件指针,`offset`是要移动的偏移量,`whence`是移动的基准。
要获取文件大小,可以使用以下代码:```cFILE *file = fopen("example.txt", "rb");if (file == NULL) {printf("Error opening file.");return 1;}fseek(file, 0, SEEK_END); // 将文件指针移动到文件末尾long file_size = ftell(file); // 获取文件大小printf("File size: %ld bytes", file_size);fclose(file);```b.ftell函数ftell函数用于获取当前文件读取指针的位置。
fseek函数
fseek函数是C语言中的一种常用函数,它可以用来让程序改变文件指针的位置,有助于在文件中进行定位,对文件的随机访问也有很大帮助。
它能够为程序员提供更多的灵活性,并能很好地使用文件信息。
fseek函数可以返回文件当前指针所在的位置,程序员可以使用ftell函数来获取文件指针的位置。
fseek函数有三个参数:文件指针,偏移量和基准位置。
文件指针必须是在 fopen函数中打开文件得到的,偏移量是要移动的比特数,基准位置是基于文件指针进行操作的参照点。
fseek函数可以用来执行文件的随机访问,它可以将文件指针移动到指定的位置,从而获取文件指定位置的数据,也可以用它来将文件的指针移动到文件尾,这样在对文件进行写入操作时,就可以很方便地将数据写入文件。
此外,fseek函数还有一个指定当前位置的重要作用,使得我们可以在文件的任何位置进行读写操作。
fseek函数的应用广泛,它可以用于文件的遍历,文件的写入和读取,以及文件的比较等操作。
函数的使用也非常灵活,可以对文件的读写等操作进行更有效的管理。
此外,fseek函数还可以用于实现文件的保护和安全功能,这也可以大大提高文件的安全性。
总之,fseek函数是C语言中不可或缺的重要函数,它在文件读写,文件随机访问,文件保护以及文件比较等领域都有着广泛的应用,大大提高了程序的灵活性以及使用文件的效率。