C语言程序设计 方少卿主编 铁道C第10章(修订版)

C语言程序设计 方少卿主编 铁道C第10章(修订版)

ID:40238515

大小:1.22 MB

页数:51页

时间:2019-07-28

C语言程序设计 方少卿主编 铁道C第10章(修订版)_第1页
C语言程序设计 方少卿主编 铁道C第10章(修订版)_第2页
C语言程序设计 方少卿主编 铁道C第10章(修订版)_第3页
C语言程序设计 方少卿主编 铁道C第10章(修订版)_第4页
C语言程序设计 方少卿主编 铁道C第10章(修订版)_第5页
资源描述:

《C语言程序设计 方少卿主编 铁道C第10章(修订版)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第十章文件10.0引例10.1C文件概述10.2C文件指针10.3文件的打开与关闭10.4文件的读写10.5文件的随机读写10.6文件检测函数10.7程序举例10.8复习指南10.0引例【引例】读入某班学生的成绩(每个学生四门课),给出每个学生的总分、平均成绩。对于这个问题,我们可以定义一个如下的结构体数组来处理学生的成绩:structstu/*定义结构体*/{charnum[6];/*学号*/charname[15];/*学生姓名*/floatscore[4];/*四门课成绩*/floatsum;/*总分*/floa

2、taver;/*平均成绩*/}student[50];/*学生成绩数组*/10.1C文件概述“文件”是指一组相关数据的有序集合。这个数据集有一个名称,叫做文件名。从用户的角度看,文件可分为普通文件和设备文件两类。从文件编码的方式来看,文件可分为ASCII码文件和二进制码文件两种。C系统在处理这些文件时,并不区分类型,都看成是字符(字节)流,因此也把这种文件称作“流式文件”。C语言的输入输出是由库函数来完成的。ANSIC标准决定不采用非缓冲文件系统,而只采用缓冲文件系统。既用缓冲文件系统处理文本文件,也用它来处理二进制文

3、件。10.2文件指针在C语言中用一个指针变量指向一个文件,这个指针称为文件指针。通过文件指针就可对它所指向的文件进行各种操作。定义文件指针的一般形式:FILE*指针变量标识符;FILE结构体类型由系统定义,在头文件stdio.h中定义如下:typedefstruct{shortlevel;/*缓冲区“满”或“空”的程度*/unsignedflags;/*文件状态标志*/charfd;/*文件描述符*/unsignedcharhold;/*如无缓冲区不读取字符*/shortbsize;/*缓冲区大小*/unsignedc

4、har*buffer;/*数据传输缓冲区*/unsignedchar*curp;/*当前激活指针*/unsignedistemp;/*临时文件指示器*/shorttoken;/*用于合法性校合*/}FILE;10.3文件的打开与关闭文件在进行读写操作之前要先打开,使用完毕要关闭。10.3.1文件的打开函数(fopen函数)ANSIC提供了打开文件的函数——fopen函数。fopen函数的调用方式通常为:FILE*fp;fp=fopen(文件名,文件使用方式)函数原型在stdio.h文件中,fopen函数打开一个“文件名

5、”所指的外部文件,fopen函数返回指向以“文件名”为文件的指针,并赋与fp。对文件的操作模式由文件使用方式决定,文件使用方式也是字符串,表10-1给出了文件使用方式的取值表。表10-1文件使用方式的取值表文件打开方式(使用方式)的说明:(1)文件打开一定要按前面提到的方法检查fopen函数的返回值。因为有可能文件不能正常打开。不能正常打开时fopen函数返回NULL。(2)“r”方式:只能从文件读入数据而不能向文件写入数据。该方式要求打开的文件已经存在,否则出错。(3)“w”方式:只能向文件写入数据(输出)而不能从文

6、件读入数据。如果文件不存在,创建该文件,如果文件存在,原来文件被删除,然后重新创建文件(相当覆盖原来文件),如果要保留原有数据,请看下面的“a”方式。(4)“a”方式:在文件末尾添加数据,而不删除原来文件。该方式要求欲打开的文件已经存在。打开时,文件指针移到文件末尾。(5)“+”(“r+,w+,a+”)方式:均为可读写。但是“r+”,“a+”要求文件已经存在,“w+”无此要求;“r+”打开文件时文件指针指向文件开头,“a+”打开文件时文件原来的文件不被删除,指针指向文件末尾;“w+”方式则新建立一个文件,先向此文件写数

7、据,然后可以读此文件中的数据。(6)“b、t”方式:分别以二进制、文本方式打开文件。默认是文本方式,t可以省略。读文本文件时,将“回车”/“换行”转换为一个“换行”;写文本文件时,将“换行”转换为“回车/换行”。二进制文件不进行这种转换,内存中的数据形式与外存文件中的数据形式完全一致。(7)程序开始运行时,系统自动打开三个标准文件:标准输入,标准输出,标准出错输出。一般这三个文件对应于终端(键盘、显示器)。这三个文件不需要手工打开,就可以使用。标准文件:标准输入,标准输出,标准出错输出对应的文件指针是stdin、std

8、out和stderr,这三个文件指针是由系统自动定义的。例如程序中指定要从stdin所指的文件输入数据,就是指从终端键盘输入数据。10.3.2文件的关闭函数(fclose函数)文件一旦使用完毕,应用关闭文件函数把文件关闭。关闭使文件指针变量不再指向该文件,此后不能再通过该指针对其相连的文件进行读写操作,除非再次打开,使该指针变量重

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。