关于文件和文件指针的总结

文件

定义

所谓文件,通常指的是存储在外表介质上的一组相关信息数据的集合。

分类

根据文件的读写方式

  1. 随机文件 : 对这类文件中的数据读写是随机的,只要按照相关函数对所要读写的文件进行定位,也就是说:允许跳跃式地对所需的文件位置的数据进行处理。
  2. 顺序文件: 对这类文件中的数据读写是按照顺序进行的,如果要对文件中某个位置的数据进行读写操作,就必须对它前面的数据进行操作,也就是说:不允许跳跃式地对所需的文件位置的数据进行处理。

根据数据存放格式

文本文件:将数据转换为相应的ASCⅡ码。(以5236为例:)

在这里插入图片描述

二进制文件:数据的存放按照二进制进行

在这里插入图片描述

二者比较

  1. 文本文件比二进制文件花费更多的转换时间:文本文件的每个字符都要转化成ASCⅡ码
  2. 文本文件占用内存空间比二进制文本大
  3. 文本文件便于对单个字符进行处理,便于输出

文件指针

定义

文件指针,指的是一种特殊类型的指针,该指针指向文件。

形式

FILE *file_pointer

FILE结构体类型

struct _iobuf
{
    
    
	char *_ptr;// _ptr 字符指针表示文件输入的下一个位置
	int _cnt;	// cnt 表示当前缓冲区的相对位置
	char *_base;// _base 字符指针表示文件的起始位置
	int _flag;	// _flag 表示文件标志
	int _file;//  _file 表示文件的有效性验证
	int _charbuf;// _charbuf  表示缓冲区的检查,若无此成员则不读取
	int _bufsize; //  _bufsize 表示文件大小
	char *_tmpfname;  // _tmpfnam 临时文件名
};
typedef struct _iobuf FILE;

猜你喜欢

转载自blog.csdn.net/qq_45279570/article/details/108045524