欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

一起talk C栗子吧(第一百四十一回:C语言实例--文件操作:基于文件指针一)

程序员文章站 2022-12-05 10:06:25
各位看官们,大家好,上一回中咱们说的是基于文件描述符进行文件操作的例子,这一回咱们说的是基于文件指针进行文件操作的例子。闲话休提,言归正转。让我们一起talk c栗子吧! 看...

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

看官们,在介绍文件指针前,我们先介绍一下文件流。所谓的文件流是一个抽象的概念,对文件的操作无非是向文件读取或者写入数据,而读取或者写入数据的过程是持续的,就是小河流水一样,因此就叫把它叫作流了。当然了,这并不是命名文件流的真正原因,它是从stream这个单词翻译过来的。 我们常用的文件流有输入流,输出流和错误流。

明白文件流后,我们来介绍文件指针。文件指针是指向文件流的,我们可以通过文件指针来操作文件流,进而操作文件。我这么说,大家是不是觉得,文件指针和文件描述符十分类似呢?确实是这样。文件描述符是提供的,而文件指针是c标准库提供的。就像通过文件描述符使用系统api一样,我们可以通过文件指针使用标准库中的函数。其实文件指针是标准库对文件描述符的封装,文件指针中除了包含有文件描述符外,还有一些缓冲信息。当然了,我们在编写应用程序的时候不需要关注这些细节。

大家还记得我们在说文件描述符时介绍过的0,1,2这三个文件描述符吧,它们分别表示标准输入,标准输出和标准错误,每个进程启动时都会自动打开这三个文件操作符,在进程结束时又会自动关闭它们。和文件描述类似,标准库也提供了三个文件指针:

stdin 指向标准输入流 stdout 指向标准输出流 stderr 指向标准错误流

这三个流也是随着进程的启动而且打开,随着进程的结束而关闭。大家都知道文件描述符的数量是有限的,文件流的数量也是有限的,通常来说,我们最多可以打开16个文件流。这个与系统设置有关,我们可以通过stdio.h文件中的fopen_max来查看。

看官们,文件指针和文件描述符十分类似,因此,大家可以使用对比的方式去学习和了解他们。只要明白了其中的一种,另外一种就很容易掌握了。就当作是依葫芦画瓢吧,哈哈。

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