内容正文:
第10章 文件
10.1 文件的概念
10.2 文件指针
10.6 文件检测函数
10.5 文件的随机读/写
10.3 文件的打开与关闭
10.4 文件的读/写
大学C/C++语言程序设计程序设计 第10章 文件
<
>
本章学习目标
理解文本文件和二进制文件的区别;
理解 FILE *fp 文件指针;
能够用函数fopen和fclose打开和关闭文件;
掌握常用的文件读/写函数;
大学C/C++语言程序设计程序设计 第10章 文件
10.1 文件概述
所谓“文件”,是指一组相关数据的有序集合。这个数据集有一个名称,叫做文件名。实际上,在前面的各章中已经多次使用了文件,如源程序文件(.c)、目标文件(.obj)、可执行文件(.exe)、库文件(头部文件.h)等。
大学C/C++语言程序设计程序设计 第10章 文件
按存储介质:
普通文件:指驻留在磁盘或其他外部介质上的一个有序数据集,如源文件、目标文件、可执行程序等
设备文件:与主机相连的各种外部设备,如显示器、打印机、键盘等。
按数据的组织形式:
文本文件: ASCII文件,每个字节存放一个字符的ASCII码
二进制文件:数据按其在内存中的存储形式原样存放
大学C/C++语言程序设计程序设计 第10章 文件
ASCII文件在磁盘中存放时每个字符对应一个字节,用于存放对应的ASCII码。
例如,数5678的存储形式如下。
ASCII码: 00110101 00110110 00110111 00111000
53 54 55 56
十进制码: ‘ 5’ ‘ 6’ ‘ 7’ ‘ 8’
共占用4个字节
二进制文件是按二进制的编码方式来存放文件的。
例如, 数5678的存储形式为:
00010110 00101110
只占两个字节。
大学C/C++语言程序设计程序设计 第10章 文件
<
>
10.2 文件指针
1、文件结构体
文件系统为每个正使用的文件在内存开辟文件信息区,文件信息用系统定义的名为FILE的结构体描述,FILE定义在stdio.h中,其主要成员如下:
typedef struct
{ int _fd; //文件号
int _cleft; //缓冲区中剩下的字符数
int _mode; //文件操作方式
char *_next; //文件当前读/写位置
char *_buff; //文件缓冲区位置
}FILE;
大学C/C++语言程序设计程序设计 第10章 文件
2、 文件指针
在C语言中用一个指针变量指向一个文件。这个指针称为文件指针。
定义说明文件指针的一般形式为:
FILE *指针变量标识符;
例如:
FILE *fp;
表示fp是指向FILE结构的指针变量,通过fp实施对文件的各种操作。
大学C/C++语言程序设计程序设计 第10章 文件
10.3 文件的打开与关闭
文件在进行读/写操作之前要先打开,使用完毕要关闭。
在C语言中,文件操作都是由库函数来完成的。
大学C/C++语言程序设计程序设计 第10章 文件
10.3.1 文件打开函数
文件打开函数fopen()
函数fopen()用来打开一个文件,其调用的一般形式为:
文件指针名=fopen(“文件名.扩展名”, “打开文件方式”);
其中:
① 文件指针名必须是被说明为FILE 类型的指针变量;
② 文件名是被打开文件的文件名,扩展名是