文章目录
- 前言
- 一、文件的说明与使用
- 二、文件的打开与关闭
- 三、文本文件和二进制文件
- 四、文件读取结束的判定
- 总结
前言
文件的说明和使用、文件的打开和关闭、文本文件和二进制文件、文件读取结束的判定
一、文件的说明和使用?
文件分为程序文件和数据文件
1.程序文件:分为源程序文件(.c)、目标文件(.obj)、可执行程序(.exe)
2.数据文件:不一定是文件的内容,而是程序在运行时所读写的数据,从中读写的文件或输出内容的文件,简而言之就是程序运行时从文件中读写数据
那为什么要使用文件呢?
那是因为数据的持久化,就相当于记笔记一样,你把笔记写在一个笔记本里面,为以后复习做准备,免得这一堆,那一堆,显得麻烦
二、文件的打开和关闭
在介绍打开和关闭之前,我们有必要了解一下文件指针
在缓冲文件系统中,关键的概念是文件类型指针,简称文件指针
看到这里是不是感觉到没看懂,别急听我解释
文件在使用时会开辟一个相应的空间,用来存放相关的信息数据(文件的名字、位置等),这些信息是放在一个结构体变量中,结构体类型由系统来声名的,叫做FILE
eg:在vs2013环境下提供的stdio.h文件下是这样的
struct -iobuf
{
char *_ptr;
int _cnt;
char *_base;
int _flag;
int _file;
int _charbuf;
int _bufsiz;
char *_tmpfname;
};
typedef struct _iobuf FILE
当然在不同的编译环境下FILE都是不同的,但相差不会很大
也就是说我们在打开文件的同时,系统已经自动给我创建了一个FILE,直接使用就好
现在我们来创建一个FILE*的指针变量
FILE* PF;//文件指针变量
这里的PF就是一个指向FILE类型数据的指针变量,通过PF来访问FILE里面的相关文件
1.文件的打开
在ANSIC规定中用fopen函数来打开文件
//打开文件
FILE* fopen(const char *filename,const char *mode);
2.文件的关闭
fcolse函数来关闭文件
//关闭文件
int fclose(FILE* STREAM);
三.文本文件和二进制文件
-
文本文件:根据数据组织形式形成的文件
- 二进制文件:数据内存以二进制式储存,不加转化输出外存
特别说明外存以ASCll码的形式储存,需要储存转化,为文本文件
eg:整数10000,以ASCII和二进制形式在内存中分别占5和4个字节如下图
四.文件读取结束的判定
feof是应用于文件读取结束的时候,判断是读取失败结束,还是遇到文件尾结束,而不是用feof返回值来判断文件是否结束
1.文本文件判断结束
fegtc判断是否为EOF
fegts判断是否为NULL
2.二进制文件的读取结束判断,判断返回值是否小于实际要读的个数
fread判断返回值是否小于实际要读的个数
总结
介绍了文件的相关知识信息,对文件有了一定的了解。如果在阅读过程中,发现错误,请及时联系我予以纠正