网站大量收购独家精品文档,联系QQ:2885784924

《C语言程序设计(》课件_第9章 文件.ppt

《C语言程序设计(》课件_第9章 文件.ppt

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共40页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

#includestdio.h

main()

{FILE*fp;

charname[20];

intn;

floatp;

fp=fopen(mytest1.txt,r);

if(fp==NULL)printf(fileopenerrror\n);

elsewhile(fscanf(fp,%s%d%f,name,n,p)!=EOF)

printf(name=%s\tn=%d\tp=%6.2f\n,name,n,p);

fclose(fp);

} 用fprintf和fscanf函数对磁盘文件读写,使用方便,容易理解,但由于在输入时要将ASCII码转换为二进制形式,在输出时又要将二进制形式转换成字符,花费时间比较多。因此,在内存与磁盘频繁交换数据的情况下,最好不用fprintf和fscanf函数,而用fread和fwrite函数。9.3.5文件的定位

C文件中有一个位置指针,指向当前读写的位置。顺序读写一个文件时,一次读写完成后,该位置指针自动移动指向下一个位置。为了能够改变读写的顺序,C语言提供了几个函数,强制使位置指针指向其他指定的位置。 移动位置指针函数(fseek)

功能:fseek函数用来将文件位置指针移动到指定的位置,以 便从当前位置读写文件。

调用格式:

fseek(文件指针,位移量,基准点);

其中:位移量字节为单位,是移动的字节数,是一个长整 型数,ANSIC标准规定在数字的末尾加一个L; 基准点用0、1或2代替/:用表示符表示0代表“文件开始”/SEEK_SET1代表“当前位置”/SEEK_CUR2代表“文件末尾”/SEEK_END 例如:

fseek(fp,100L,0);将位置指针移到离文件头100个字节处

fseek(fp,50L,1);将位置指针移到离当前位置50个字节处

fseek(fp,-10L,2);将位置指针从文件末尾处向后退10个字节

注意:fseek函数一般用于二进制文件,因为文本文件要发生字符转换,计算位置时往往会发生混乱。 2.确定当前位置函数(ftell)

功能:ftell函数的是得到流式文件中的当前位置,用相对于文 件开头的位移量来表示。

ftell函数的调用格式为:

ftell(文件指针);

返回值:若函数ftell调用成功,返回文件的当前位置,即相对 于文件开始的字节数。若函数ftell调用失败返回值为-1L。

例如:

i=ftell(fp);

if(i==-1L)printf(“error\n”);

变量i存放当前位置,如调用函数出错,则输出“error”。3.位置复位函数(rewind)

功能:rewind函数使位置指针重新返回文件的开头。

调用格式:

rewind(文件指针);

返回值:无 9.3.6判断文件结束的feof函数

功能:ANSIC提供的feof函数可以判断文件是否真的结束。 (文件结束符EOF的值是-1,如果处理二进制文件,则 读入的某一个字节的值有可能是-1,可能会误认为是文 件结束,这时应该使用feof函数来判断。)

调用格式:feof(文件指针);

返回值:文件结束返回值为非0

文件未结束返回0。

例:顺序读入一个二进制文件中的数据,可如下语句实现:

while(!feof(fp))

{c=fgetc(fp);

} 第9章文件

计算机中的任何信息资料包括各种程序、文稿、数据和各种各样的信息都是以文件的形式存储在外部介质上的,所以所谓文件就是存储在计算机外部介质上的一组相关数据。9.1C语言文件系统的基本概念

9.1.1.C文件是流文件

C语言把文件看作是一个

文档评论(0)

kd8w + 关注
实名认证
内容提供者

kd8w

1亿VIP精品文档

相关文档