- 1、本文档共40页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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语言把文件看作是一个
您可能关注的文档
- 《机电一体化导论》课件_第5章 计算机接口及控制技术.ppt
- 《第四篇数控线切割加工工艺电子教案》课件_任务二 线切割程序编制.ppt
- 《C语言程序设计(》课件_第3章结构化程序设计的三种基本结构.ppt
- 《C语言程序设计(》课件_第7章 结构体.ppt
- 《国际贸易实务》课件_第12章.pptx
- 《电路分析基础 》课件_第二章 第六节2-12、2-13.pptx
- 《软件测试基础》课件_第4章.ppt
- 《Linux网络操作系统(CentOS 6.5)》课件_3-1 知识学习.pptx
- 《Linux网络操作系统(CentOS 6.5)》课件_2-3 知识学习.pptx
- 《国际贸易实务》课件_第6章.pptx
文档评论(0)