" 要成为绝世高手,并非一朝一夕,除非是天生武学奇才。但是这种人…万中无一 " —— 包租婆
● C语言文件有关的基本知识
01
什么是文件
1、文件有不同的类型,在程序设计中,主要用到两种文件:
(1)程序文件。包括源程序文件(后缀为.c)、目标文件(后缀为.obj)、可执行文件(后缀为.exe)等。这种文件的内容时程序代码。
(2)数据文件。文件的内容不是程序,而是供程序运行时读写的数据,如在程序运行过程中输出到磁盘(或其他外部设备)的数据,或在程序运行过程中供读入的数据。
2、为了简化用户对输入输出设备的操作,使用户不必去区分各种输入输出设备之间的区别,操作系统把各种设备都统一作为文件来处理。
3、文件是程序设计中一个重要的概念。所谓“文件”一般指存储在外部介质上数据的集合。
4、输入输出是数据传送的过程,数据如流水一样从一处流向另一处,因此常将输入输出形象地称为流,即数据流。
5、流表示了信息从源到目的端的流动。
02
文件名
1、一个文件要有一个唯一的文件标识,以便用户识别和引用。文件标识包括3部分:
(1)文件路径;(2)文件名主干;(3)文件后缀。
2、为了方便起见,文件标识常被称为文件名,但应了解此时所称的文件名,实际上包括以上3部分内容,而不仅是文件名主干。
03
文件的分类
1、根据数据的组织形式,数据文件可分为ASCII文件和二进制文件。
2、数据在内存中是以二进制形式存储的,如果不加转换地输出到外存,就是二进制文件,可以认为它就是存储在内存的数据的映象,所以也称之为映像文件。
3、如果要求在外存上以ASCII代码形式存储,则需要在存储前进行转换。
4、ASCII文件又称文本文件,每一个字节放一个字符的ASCII代码。
04
文件缓冲区
1、ANSI C标准采用“缓冲文件系统”处理数据文件,所谓缓冲文件系统是指系统自动地在内存区为程序中每一个正在使用的文件开辟一个文件缓冲区。
05
文件类型指针
1、缓冲文件系统中,关键的概念是“文件类型 指针”,简称“文件指针”。每个被使用的文件都在内存中开辟一个相应的文件信息区,用来存放文件的有关信息。这些信息是保存在一个结构体变量中的。
● 用fopen函数和fclose函数打开与关闭文件
01
用fopen函数打开数据文件
1、fopen函数的调用方式为
fopen(文件名,使用文件方式);
例如:fopen(“a1”,“r”),表示要打开名字为“a1”的文件,使用文件方式为“读入”。
2、用“r”方式打开的文件只能用于向计算机输入而不能用作向该文件输出数据,而且该文件应该已经存在,并存有数据,这样程序才能从文件中读数据。
3、用“w”方式打开的文件只能用于向该文件写数据,而不能用来向计算机输入。
4、如果希望向文件末尾添加新的数据(不希望删除原有数据),则应该用“a”方式打开。
5、用“r+”、“w+”,“a+”方式打开的文件既可用来输入数据,也可用来输出数据。
6、如果不能实现“打开”的任务,fopen函数将会带回一个出错信息。
7、计算机从ASCII文件读入字符时,遇到回车换行符,系统把它转换为一个换行符,在输出时把换行符转换成为回车和换行两个字符。
8、程序中可以使用3个标准的流文件——标准输入流、标准输出流、标准出错输出流。
02
用fclose函数关闭数据文件
1、在使用完一个文件后应该关闭它,以防止它再被误用。
2、关闭就是撤销文件信息区和文件缓冲区,使文件指针变量不再指向该文件,也就是文件指针变量与文件“脱钩”,此后不能再通过该指针对原来与其相联系的文件进行读写操作,除非再次打开,使该指针变量重新指向该文件。
3、fclose函数调用的一般形式
fclose(文件指针)
例子:
fclose(a1),前面曾把打开文件时函数返回的指针赋给了a1,现在把a1指向的文件关闭,此后a1不再指向该文件。
如果你想要获取更多C语言、C++、Windows以及QT的知识!笔者的专栏有一个C/C++编程学习交流俱乐部(群)点击进入,有编程学习文件(源码,项目实战教学视频以及给小白的零基础教程),欢迎初学者和正在进阶中的小伙伴们!