欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    Cppt课件第9章 文件.ppt

    • 资源ID:1622305       资源大小:404KB        全文页数:45页
    • 资源格式: PPT        下载积分:16金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要16金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    Cppt课件第9章 文件.ppt

    1,C 语言程序设计,第 9 章 文 件,烟台大学 计算机学院,2022/12/11,2,第9章 文件,9.1 文件的概念9.2 文本文件的读写9.3 二进制文件的读写,2022/12/11,3,文件:存储在外部存储介质上相关数据的集合。 例如:程序文件中保存着程序,数据文件中保存着数据。*.C C语言的源程序文本文件*.OBJ 目标文件二进制文件*.EXE 可执行文件二进制文件文件的存储特性文件是一个有序的数据序列。C语言把文件作为一个字符(字节)序列处理,对文件的存取是以字符(字节)为单位进行的。,9.1 文件的概述,9.1.1 文件和文件指针,1. 什么是文件,2022/12/11,4,按文件存储数据的形式 ASCII文件(或称文本文件)ASCII码文件中每个字节存放一个ASCII代码,代表一个字符,此种存储形式便于输出显示,在DOS操作系统下可以直接阅读。 二进制文件 二进制文件中的数据是按照在内存中的二进制存储格式存放的,此种存储形式节省存储单元。二进制文件在DOS操作系统下不能直接阅读。,9.1 文件的概述,9.1.1 文件和文件指针,2. 文件的种类,2022/12/11,5,例如将整数1949分别存储在这两种数据文件中。,ASCII文件:ASCII码,二进制文件:补码,占用4个字节,占用2个字节,9.1 文件的概述,9.1.1 文件和文件指针,2. 文件的种类,2022/12/11,6,按照对文件的处理方式 缓冲文件利用缓冲文件系统处理的文件称为缓冲文件。系统处理方法是在内存中为每个正在使用的缓冲文件开辟一个缓冲区,其大小是512个字节。现在的标准C对文件读写大都采用缓冲文件系统处理。 非缓冲文件 利用非缓冲文件系统处理的文件称为非缓冲文件。系统处理非缓冲文件时,不为文件开辟缓冲区,需要程序员自行设计并管理缓冲区。,9.1 文件的概述,9.1.1 文件和文件指针,2. 文件的种类,2022/12/11,7,系统对文件的处理过程就是对文件进行输入/输出操作的过程。 从文件读数据时,先一次性从磁盘文件中读取一批数据到缓冲区,然后再从缓冲区逐个将数据送入变量。 向文件写数据时,也是先将变量中数据送到缓冲区,待缓冲区装满后,再一起存到磁盘文件中。,9.1 文件的概述,9.1.1 文件和文件指针,3. 缓冲文件和文件指针,2022/12/11,8,9.1 文件的概述,3文件类型指针在缓冲文件系统中,对每个正在使用的文件都自动分配一个FILE类型的结构体变量,用于存放文件的有关信息,如文件号、文件状态、缓冲区地址和大小等。,C系统已经在“stdio.h”头文件中按格式进行了定义,typedef struct int fd; /*文件描述符*/ int cleft; /*缓冲区中剩下的字符*/ int mode; /*文件操作模式*/ char *nextc; /*下一个字符位置*/ char *buff; /*文件缓冲区位置*/ FILE;,2022/12/11,9,在C语言中,无论对磁盘文件操作,还是对设备文件的读/写都要通过FILE类型的结构体变量进行。因此对于每个使用中的磁盘文件必须先定义一个FILE类型的文件指针变量。 文件型指针的定义格式如下: FILE *文件指针变量名;例: FILE *fp1; 或 FILE *fp5;,9.1 文件的概述,9.1.1 文件和文件指针,2022/12/11,10,常用的调用形式: FILE *fp; fp = fopen(文件名, 文件使用方式);文件名:需要打开的文件名称(字符串)。文件使用方式:是具有特定含义的符号。,9.1 文件的概述,9.1.2 文件的打开与关闭,1. 文件打开函数fopen( ),函数功能: 按指定的文件使用方式打开指定的文件。 若文件打开成功,为该文件分配一个文件缓冲区和一个FILE类型变量,返回一个FILE类型指针; 若文件打开失败,返回NULL。,2022/12/11,11,文本文件的三种基本使用方式”r”:只读方式 打开一个已存在的文本文件。只能读取数据。”w”:只写方式 打开一个文本文件。只能写入数据。若文件不存在,则自动建立一个新文件接收写入的数据;若文件已存在,则删除旧文件,建立一个同名的新文件 ,接收写入的数据。”a”:追加方式 打开一个已存在的文本文件。只能写入数据并追加在文件尾部。,9.1 文件的概述,9.1.2 文件的打开与关闭,2022/12/11,12,9.1 文件的概述,9.1.2 文本文件的使用方式,”r+”:读写方式 打开一个已存在的文本文件。可以读取数据。也可以写入数据。”w+”:读写方式 打开一个已存在的文本文件。可以读取数 据。也可以写入数据。 若文件不存在,则自动建立一个新文件接收写入的数据;若文件存在,则删除旧文件,建立一个同名的新文件 ,接收写入的数据。”a+”:读写方式 打开一个已存在的文本文件。可以读取数据。也可以追加在文件尾部。,2022/12/11,13,”rb”:读写方式 打开一个已存在的二进制文件。只能读取数据。”wb”:只写方式 打开一个二进制文件。只能写入数据。若文件不存在,则自动建立一个新文件接收写入的数据;若文件已存在,则删除旧文件,建立一个同名的新文件 ,接收写入的数据。”ab”:追加方式 打开一个已存在的二进制文件。只能写入数据并追加在文件尾部。,9.1.2 文本文件的使用方式,2022/12/11,14,二进制文件的三种基本使用方式”rb+”:打开一个已存在的二进制文件。可以读取数据。也可以写入数据。”wb+”:读写方式打开一个二进制文件。可以读取数据。也可以写入数据。 若文件不存在,则自动建立一个新文件接收写入的数据;若文件存在,则删除旧文件,建立一个同名的新文件 ,接收写入的数据。”ab+”:读写方式打开一个已存在的二进制文件。可以读取数据。也可以追加数据到文件尾部。,9.1 文件的概述,9.1.2 文件的打开与关闭,2022/12/11,15,9.1 文件的概述,9.1.2 文件的打开与关闭,操作文件的一般步骤 打开文件 读写文件 关闭文件,打开文件:建立用户程序与文件的联系,为文件分 配一个文件缓冲区。,读写文件:是指对文件的读、写、追加和定位操作。,关闭文件:切断文件与程序的联系,释放文件缓冲 区。,C语言的输入输出函数库中提供了大量的函数,用于完成对数据文件的建立、数据的读写、数据的追加等操作。 在程序中调用这些函数时,必须先用include命令包含stdio.h文件。,2022/12/11,16,标准文件是外部设备中的三个特殊的设备文件。它们的文件指针是系统定义的,并由系统自动打开和关闭。这三个标准文件分别是: 标准输入文件,文件指针为stdin,系统指定为键盘。 标准输出文件,文件指针为stdout,系统指定为显示器。 标准错误输出文件,文件指针为stderr,系统指定为显示器,输出错误信息。,9.1 文件的概述,9.1.1 文件和文件指针,4. 标准文件,2022/12/11,17,检查文件打开操作是否成功 if(fp = fopen(filename, r) = NULL) printf (”Cannot open file.n”); exit(0); 检查以只读方式打开文件名为filename的文件是否成功。exit函数的作用:结束程序的执行,并将实参0作为函数返回值传给操作系统。,9.1 文件的概述,9.1.2 文件的打开与关闭,2022/12/11,18,常用的调用形式: FILE *fp; fclose( fp ); fp:已经打开的文件指针。,9.1 文件的概述,9.1.2 文件的打开与关闭,2. 文件关闭函数fclose( ),函数功能: 关闭fp指定的文件,释放该文件的缓冲区、FILE类型变量及文件指针。 若文件关闭成功,则返回0; 若文件关闭失败,则返回非0值。,2022/12/11,19,FILE *fp; /* */ if(fp=fopen(文件名,文件使用方式)=NULL) /* */ printf(file can not open!n); /* */ exit(0); /* */ /* */ fclose(fp); /* */,2022/12/11,20,常用的调用形式: FILE *fp; fputc( ch,fp ); ch:需要输出的字符,可以是字符常量或字符变量; fp:文件指针变量。,对文本文件的读写操作,必须按文件中字符的先后顺序进行,只能在操作了第i个字符之后,才能操作第i+1个字符。 在对文件操作时,文件的读写指针由系统自动向后移动。,9.2 文本文件的读写,9.2.1 文件的字符输入输出函数,1. 字符输出函数fputc( )(或putc( )),函数功能: 将一个字符(ASCII码)写入到fp所指向的文件(该文件必须是以写或读写方式打开的)中。 若输出操作成功,函数返回写入的字符;否则,返回EOF。,系统定义的文本文件结束标志,其值为 (-1)。, putc函数与fputc函数的功能相同。在stdio.h文件中被定义为 #define putc(c,f) fputc(c),f) 标准文件中用的putchar函数是fputc函数的特殊用法,它在stdio.h文件中被定义为 #define putchar(c) putc(c),stdout),2022/12/11,21,常用的调用形式: FILE *fp; ch = fgetc(fp); ch:可以是字符变量或整型变量; fp:文件指针变量。,9.2 文本文件的读写,9.2.1 文件的字符输入输出函数,2. 字符输入函数fgetc( )(或getc( )),函数功能: 从fp所指向的文件(该文件必须是以读或读写方式打开的)中读取一个字符。 若输入操作成功,函数返回读入的字符; 若文件结束或输入操作失败,则返回EOF。, getc函数与fgetc函数的功能相同。在stdio.h文件中被定义为 #define getc(f) fgetc(f) 标准文件中用的getchar函数是fgetc函数的特殊用法,它在stdio.h文件中被定义为 #define getchar( ) getc(stdin),2022/12/11,22,【例9.1】利用fputc和fgetc函数建立一个文本文件,并显示文件中的内容。#include main( ) FILE *fp; /* 定义一个文件指针变量fp */ int c; /* c为存放字符的变量 */ char filename40; /* filename用于存放数据文件名 */ printf(filename: ); /* 提示输入磁盘文件名 */ gets(filename); if (fp=fopen(filename,w)=NULL) printf(Cant open the %sn, filename); exit(0); ,9.2 文本文件的读写,9.2.1 文件的字符输入输出函数,测试打开文件是否成功,2022/12/11,23,while (c=getchar( )!=EOF) /*键盘文件结束标志:输入Ctrl+z,显示Z后回车*/ putc(c, fp); /* 将键盘输入的字符写到文件中 */fclose(fp); /* 建立文件结束,关闭文件 */printf(outfile:n);fp=fopen(filename,r); /* 以读方式打开文本文件 */while (c=getc(fp)!=EOF) /* 未读到文件结束标志时 */ putchar(c); /* 在显示器显示读出的字符 */fclose(fp); /* 读文件结束,关闭文件 */,9.2 文本文件的读写,9.2.1 文件的字符输入输出函数,2022/12/11,24,常用的调用形式: FILE *fp; feof(fp); fp:文件指针变量。,9.2 文本文件的读写,9.2.2 文件结束测试函数,函数功能: 测试fp所指向的文件是否已读到文件尾部。 若该文件没有结束,则返回0; 若文件结束,则返回非0值。,对文本文件进行读操作时,例如fgetc( )返回EOF,即可作文件结束处理。但在二进制文件中-1是合法数据,所以系统提供了一个适用对象更普遍的文件结束测试函数feof。,2022/12/11,25,例如:复制一个磁盘文件。#include main( ) FILE *infp,*outfp; char infile40,outfile40; int ch; printf(input filename:); scanf(%s,infile); printf(output filename:); scanf(%s,outfile); if(infp=fopen(infile,r)=NULL) /* 打开源文件 */ printf(infile open error.n); exit(0); if(outfp=fopen(outfile,w)=NULL)/* 打开目标文件 */ printf(outfile open error.n); exit(0); ch=fgetc(infp); /* 从源文件中读一个字符 */ while(!feof(infp) /* 源文件未读完 */ fputc(ch, outfp); ch=fgetc(infp); /* 复制文件 */ fclose(infp); fclose(outfp);,9.2 文本文件的读写,9.2.2 文件结束测试函数,2022/12/11,26,常用的调用形式: FILE *fp; fputs( str, fp ); str:需要输出的字符串,可以是字符串常量或字 符串指针; fp:文件指针变量。,fputs与puts函数的功能类似,它们的区别: puts函数能将字符串的结束标志 0 转换成 n 输出,因此字符串在显示器输出后,光标移至下一行;而fputs函数对字符串结束标志 0 的处理仅仅是将其舍去。,9.2 文本文件的读写,9.2.3 文件的字符串输入输出函数,1. 字符串输出函数fputs( ),函数功能: 将字符串(不包括字符串结束标志0)写到文件指针fp所指向的文件中。 若输出操作成功,返回非0值; 若输出操作失败,则返回0。,2022/12/11,27,常用的调用形式: FILE *fp; fgets( str, n, fp ); str:字符指针,可以是字符数组名或字符指针变量; n:读取字符个数(n-1)。 fp:文件指针变量。,9.2 文本文件的读写,9.2.3 文件的字符串输入输出函数,2. 字符串输入函数fgets( ),函数功能: 从fp所指向的文件中,读取n-1个字符后,加上字符串结束标志0组成一个字符串,存入字符数组中。 若输入操作成功,返回字符数组的首地址; 若文件结束或输入操作失败,则返回NULL。, 从文件读取字符的过程中,如果读到回车符(15)舍去,如果读到换行符(12)仍按字符读出,再加上 0 作为一个字符串,同时结束文本行读取操作,函数正常返回。当读到文件结束时,直接加上0作为一个字符串,函数正常返回。 fgets与gets函数的区别:gets函数以换行符作为行结束标志,并舍去换行符。fgets函数也以换行符作为行的读结束标志,但换行符同时还作为字符串的内容。因此可将含有换行符的文本文件看作是由一行一行字符组成的。,2022/12/11,28,【例9.3】应用fputs和fgets函数,建立和读取文本文件。#include stdio.h#include string.hmain( ) FILE *fp; /* 定义一个文件指针变量fp */ char filename40,str81; printf(filename: ); /* 提示输入磁盘文件名 */ gets(filename); if (fp=fopen(filename,w)=NULL) /* 在磁盘中新建并打开一个文本文件,同时测试是否成功 */ printf(Can t open the %sn,filename); exit(0); ,9.2 文本文件的读写,9.2.3 文件的字符串输入输出函数,2022/12/11,29,while (strlen(gets(str)0) /* 键盘输入空串(即仅输入回车)则输入全部结束 */ fputs(str,fp); /* 将键盘输入的字符串写到文件中 */ fputc(n,fp); /* 在文件中加入换行符作为字符串分隔符 */ fclose(fp); /* 建立文件结束,关闭文件 */printf(outfile:n);fp=fopen(filename,r); /* 以读方式打开文本文件 */while (fgets(str,81,fp)!=NULL) /* 从文件读取字符串并测试文件是否已读完 */ printf(%s,str); /* 将文件中读取的字符串分行显示 */fclose(fp); /* 读文件结束,关闭文件 */,9.2 文本文件的读写,9.2.3 文件的字符串输入输出函数,2022/12/11,30,与标准文件的格式输入输出函数scanf和printf相对应,文本文件也有格式输入输出函数fscanf和fprintf。它们的功能和格式基本相同,不同之处在于scanf和printf的读写对象是终端(键盘和显示器),fscanf和fprintf的读写对象是磁盘文件。,常用的调用形式: FILE *fp; fprintf( fp, 格式控制串,输出项参数表 ); fp:文件指针变量。 格式控制串和输出项参数表的规定和使用方法与printf函数相同。,9.2 文本文件的读写,9.2.4 文件的格式输入输出函数,1. 格式输出函数fprintf( ),函数功能: 将输出项按指定格式写入fp所指向的文件中。 若输出操作成功,返回写入的字节数; 若输出操作失败,则返回EOF。,2022/12/11,31,常用的调用形式: FILE *fp; fscanf( fp, 格式控制串, 地址表); fp:文件指针变量。 格式控制串和地址表的规定和使用方法与scanf函数相同。,9.2 文本文件的读写,9.2.4 文件的格式输入输出函数,2. 格式输入函数fscanf( ),函数功能: 按格式控制串所描述的格式,从fp所指向的文件中读取数据,送到指定的内存地址单元中。 若输入操作成功,返回实际读出的数据项个数,不包括数据分隔符。若没有读数据项,则返回0。 若文件结束或调用失败,则返回EOF。,2022/12/11,32,二进制文件存储信息的形式与内存中存储信息的形式是一致的,如果需要在内存与磁盘文件之间频繁交换数据,最好采用二进制文件。 二进制文件一般是同类型数据集合,数据之间无分隔符,每个数据所占字节数是一个定值,因此二进制文件除了可以顺序存取外,还可运用定位函数方便地进行随机存取。,常用的调用形式: FILE *fp; putw( w, fp ); w:要输出的整型数据,可以是常量或变量。 fp:文件指针变量。,9.3 二进制文件的读写,9.3.1 文件的字输入输出函数,1. 字输出函数putw( ),函数功能: 把整型数w写入fp所指向的文件(以写方式打开的二进制文件)。 若输出操作成功,返回w值; 若输出操作失败,则返回EOF。,由于EOF(-1)是一个合法的整数,因此应该用ferror函数检测函数调用是否出错。,2022/12/11,33,常用的调用形式: FILE *fp; getw( fp ); fp:文件指针变量。,9.3 二进制文件的读写,9.3.1 文件的字输入输出函数,2. 字输入函数getw( ),函数功能: 从fp所指向的文件(以读方式打开的二进制文件)中读取一个整型数。 若输入操作成功,返回从文件中读取的整数。 若文件结束或调用失败,则返回EOF。,EOF(-1)是getw函数可能返回的合法值,所以应该用feof函数或ferror函数检测文件是否结束或调用失败。,2022/12/11,34,常用的调用形式: FILE *fp; ferror( fp ); fp:文件指针变量。,9.3 二进制文件的读写,9.3.1 文件的字输入输出函数,3. 文件操作错误函数ferror( ),函数功能: 检测文件读写是否出错。 若出错,则指示器置1,否则指示器置0。 函数返回错误指示器值。,说明:错误指示器若置1后,只有调用clearerr函数或 rewind函数才能将其清0。,2022/12/11,35,常用的调用形式: FILE *fp; clearerr( fp ); fp:文件指针变量。,9.3 二进制文件的读写,9.3.1 文件的字输入输出函数,4. 清除错误标志函数clearerr( ),函数功能: 将文件的错误指示器和文件结束指示器清0。 该函数无返回值。,2022/12/11,36,【例9.5】应用putw和getw函数建立二进制整型数据文件并读取其中的数据。#include stdio.hmain( ) FILE *fp; /* 定义一个文件指针变量fp */ char filename40; /* filename用于存放数据文件名 */ int i,n1=5,n2,x5=10,22,36,48,59,y5; printf(filename: ); gets(filename); if (fp=fopen(filename,wb)=NULL) /* 新建并打开一个二进制文件,并测试是否成功 */ printf(Can t open the %sn,filename); exit(0); ,9.3 二进制文件的读写,9.3.1 文件的字输入输出函数,2022/12/11,37,utw(n1,fp); /* 向二进制文件写入一个整数 */ for (i=0; in1; i+) putw(xi,fp); /* 将x数组的5个整数写入二进制文件 */ fclose(fp); /* 建立文件结束,关闭文件 */ printf(outfile:n); fp=fopen(filename,rb); /* 以读方式打开二进制文件 */ n2=getw(fp); /* 从二进制文件读取一个整数 */ for (i=0; in2; i+) yi=getw(fp); /* 从文件读取一个整数赋给y数组元素 */ printf(%d ,yi); printf(n); fclose(fp); /* 读文件结束,关闭文件 */ ,9.3 二进制文件的读写,9.3.1 文件的字输入输出函数,2022/12/11,38,常用的调用形式: fwrite(p, size, n, fp); p:某类型指针; size:某类型数据存储空间的字节数(数据项大小); n:此次写入文件的数据项数; fp:文件指针变量。,9.3 二进制文件的读写,9.3.2 文件的数据块输入输出函数,1. 数据块输出函数fwrite( ),函数功能: 将p指向的存储区中n个数据项写入fp所指向的文件。 若输出操作成功,返回写入的数据项数; 若输出操作失败,则返回0。,运用数据块输入输出函数可建立整型、实型、结构体类型等各种类型的二进制文件。,2022/12/11,39,常用的调用形式: fread(p, size, n, fp); p:某类型指针; size:某类型数据存储空间的字节数(数据项大小); n:此次从文件中读取的数据项数; fp:文件指针变量。,9.3 二进制文件的读写,9.3.2 文件的数据块输入输出函数,2. 数据块输入函数fread( ),函数功能: 从fp所指向的文件中,读取n个数据项,存放到p所指向的存储区域。 若输入操作成功,返回实际读出的数据项个数。 若文件结束或调用失败,则返回0。,2022/12/11,40,【例9.6】应用fwrite与fread函数建立一个存放学生电话簿的二进制数据文件并读取其中的数据。#include stdio.hmain( ) FILE *fp; int i; char filename40; /* filename用于存放数据文件名 */ struct tel char name20, tel9; in5, out5; printf(filename: ); gets(filename); if (fp=fopen(filename,wb)=NULL) printf(Cant open the %sn,filename); exit (0); ,9.3 二进制文件的读写,9.3.2 文件的数据块输入输出函数,新建并打开一个二进制文件,并测试是否成功,2022/12/11,41,for(i=0; i5; i+) printf(name: ); gets(ini.name); printf(tel: ); gets(ini.tel); fwrite(in, sizeof(struct tel), 5, fp); /* 文件中写入5个学生的电话 */ fclose(fp); /* 建立文件结束,关闭文件 */ printf(outfile:n); fp=fopen(filename,rb); /* 以读方式打开二进制文件 */ fread(out,sizeof(struct tel),5,fp); /* 从文件读取5个结构体数据 */ printf(name telephonen); for(i=0; i5; i+) printf(%-20s%-8sn,outi.name,outi.tel); fclose(fp); /* 读文件结束,关闭文件 */ ,9.3 二进制文件的读写,2022/12/11,42,顺序读写操作在顺序读写文件时,文件的读写指针由系统自动控制,每次读写操作后,系统都会将读写指针移到下一个数据的位置。,文件读写操作的内部机制文件的读写是通过文件系统内部的“读写指针”进行的。当打开一个文件时,系统自动为该文件分配的FILE结构体变量中有一个读写指针成员,对该文件的读写操作均通过读写指针进行。fopen后读写指针指向文件中第1个(将要读写的)字节。文件结束时,读写指针指向文件最后1个字节的后面。,9.3 二进制文件的读写,9.3.3 文件读写指针定位函数,随机读写操作通过改变文件读写指针的指向,可在文件的任意位置进行读写操作。,2022/12/11,43,常量标识符 值 起始位置SEEK_SET 0 文件开始位置SEEK_CUR 1 文件读写指针当前位置SEEK_END 2 文件结束位置,函数功能: 将文件读写指针从base标识的位置移动offset个字节,并将文件结束指示器清0。 若移动成功,返回0; 若移动失败,则返回非0值。,常用的调用形式: fseek(fp, offset, base); fp:文件指针变量; offset:位移量(字节,长整型); base:起始位置标志。,9.3 二进制文件的读写,9.3.3 文件读写指针定位函数,1. 文件读写指针移动函数fseek( ),是正数,文件读写指针向文件尾部方向移动;是负数向文件头部移动,该函数仅适用于二进制文件。,fseek(fp,30,0)从文件开始位置向文件结束方向移动30个字节fseek(fp,-10,1)从当前位置向文件开始方向移动10个字节fseek(fp,-8,2)从文件结束位置向文件开始方向移动8个字节,2022/12/11,44,函数功能: 将文件读写指针移到文件开始位置,并将文件结束指示器和错误指示器清0。 该函数无返回值。,常用的调用形式: rewind( fp ); fp:文件指针变量;,9.3 二进制文件的读写,9.3.3 文件读写指针定位函数,2. 文件读写指针回绕函数rewind( ),该函数适用于二进制文件和文本文件。,2022/12/11,45,函数功能: 返回fp指向的文件中的读写指针当前位置,即相对于文件开始处的位移量,单位是字节。 若调用成功,则返回文件读写指针当前值(长整型); 若调用失败,则返回-1L。,常用的调用形式: ftell( fp ); fp:文件指针变量;,9.3 二进制文件的读写,9.3.3 文件读写指针定位函数,3. 文件读写指针位置函数ftell( ),该函数适用于二进制文件和文本文件。,

    注意事项

    本文(Cppt课件第9章 文件.ppt)为本站会员(牧羊曲112)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开