一起talk C栗子吧(第一百四十四回:C语言实例--文件操作大结局)

时间:2021-07-09 10:04:07

各位看官们,大家好,上一回中咱们说的是基于文件指针进行文件操作的例子,这一回咱们说的是文件操作大结局。闲话休提,言归正转。让我们一起talk C栗子吧!

看官们,我们在前面章回中介绍了文件操作的两种途径:文件描述符和文件指针。今天我们将对这两种文件操作途径进行总结和对比。

我们先看看它们的共同点:

  • 1.口味相同:都喜欢吃文件(都能用来操作文件);
  • 2.生活方式相同:日出而作,日落而息(使用它们时都是按照文件操作三步曲进行:打开,操作,关闭);
  • 3.都不省心:使用时容易引起错误,需要检查使用后的结果,以免发生错误;

接下来我们看看它们的不同点:

  • 1.爹妈不同:文件描述符是Linux系统“生”的,而文件指针是C标准库“生”的;
  • 2.身高不同:文件描述符个子矮小,走路的步子小,走相同的路总比其它人走的步数多。文件指针个子高, 步子也大,走相同的路时走的步数少。你不信?让我告诉你原因:使用文件描述符操作文件时,以字节为单位进行操作,因此读取/写入相同数据时,读取/写入的次数比较多。使用文件指针时,操作的单位可以自己定义,如果操作单位比字节大,那么读取/写入相同数据时,读取/写入的次数比较少。
  • 3.性格不同:文件描述符是个慢性子,操作文件的效率低,而文件指针是个急性子,做事风风火火,操作 文件的效率高。它们有这样的性格,与他们爹妈有很大的关系。我们都知道,计算机的内存和硬盘都可以存放文件,不过从内存中读取文件要比从硬盘中读取文件快,这是因为内存的读取速度远快于硬盘。文件描述符它爹妈也就是Linux系统,让文件描述符直接对磁盘中的文件进行操作(其实也有很小的缓冲,不过可以忽略不计),而文件指针它爹妈(C标准库)让文件指针先在内存中的缓冲区操作文件,当缓冲区満了时才把缓冲区中的数据转移到硬盘上的文件中,这样减少了文件指针读取硬盘的次数,进而提高了文件操作的效率。

看官们,关于文件操作的两种途径:文件描述符和文件指针,我们就说这么多。在实际工作中,大家可以结合他们的相同点以及不同点选择其中一种来操作文件。不过,依据经验来看,使用标准库提供的文件指针来操作文件会好一些,这样不但可以提高文件操作的效率,而且可以提高程序的移植性。当然了,如果想对文件进行专有的操作和控制,那么使用文件描述符操作文件是最理想的选择。

各位看官,关于文件操作大结局的例子咱们就说到这里。欲知后面还有什么例子,且听下回分解 。