文件的基本知识

2022-04-11 19:28:28 浏览数 (1)

文件的基本知识

为什么需要外部文件?

·程序运行时数据已存在内存,或从键盘输入,结果输出到显示器。该处理方式是临时性的,程序运行结束数据就丢失。

·除显示器和键盘外,输入输出设备还包括磁盘、光盘、磁带等存储设备,程序运行数据和运行结果可来自和存储于这些设备。

文件的概念

文件的概念

文件:存储在外部介质上(如磁盘等)的数据集合。如,程序文件是程序代码的有序集合;数据文件是一组数据的有序集合。

文件名:一个唯一的文件标识,以便用户识别和引用。文件名由三个部分组成:

(1) 文件路径:文件在外部存储设备中的位置。

(2) 主文件名:用于识别文件,命名规则为标识符规则。

(3) 文件扩展名:用于区分文件的类型,各种类型文件通常有约定的扩展名。

C语言常用两类文件:

程序文件,包括:

源程序文件(扩展名是.c);

目标文件(扩展名是.obj);

可执行文件(扩展名是.exe)

数据文件:程序运行时读写的数据

(如:学生档案、商品交易等)

文件的数据存储

文件的数据存储

根据数据在文件存储的组织形式,数据文件可以分为“文本文件”和“二进制文件”。

数据在内存中是二进制形式存储的,如果不进行转换,直接将内存中数据的二进制形式直接存储到文件中,就是二进制文件。

如果将内存中的数据以ASCII码形式存储到文件中,就是文本文件,也称为ASCII文件。

例:整数12345以ASCII码形式存储到文件中,就是把字符串“12345”存储到文件中,在磁盘上占用5个字节;

以二进制形式存储到文件中,是直接把其内存中的形式存储到文件中,占用4个字节(部分C编译器占用2个字节)。

文件缓冲区

文件缓冲区

概念:系统自动地在内存中为程序中每一个正在使用的文件开辟一个“文件缓冲区”。

目的:协调高速的内存设备与低速的外部存储设备之间的配合,提高文件读写效率。

处理过程:(1) 输出时数据先到文件缓冲区,缓冲区满后再整批送出。(2)读入时,先一次性读取一批数据到文件缓冲区,再逐个输入到数据区变量。

文件类型指针

对文件读写时,需为文件在内存中开辟一个区域,用来存放文件相关信息(如文件名、读写状态等),存储在一个结构体类型变量中,C语言为该结构体类型命名为FILE,定义在stdio.h中:

typedef struct _iobuf

{

char* _ptr;

int _cnt;

char* _base;

int _flag;

int _file;

int _charbuf;

int _bufsiz;

char* _tmpfname;

} FILE;

使用: FILE *fp;

0 人点赞