文件指针的分析

Posted LC编程开发者

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了文件指针的分析相关的知识,希望对你有一定的参考价值。

标准C语言提供了fopen(), fread(), fwrite(), fgets(), fputs(), fclose()等函数,用于操作一个文件。假设有123.txt 文件,我们把文件的内容,读取到内存中,有如下的操作流程:

(1) 调用fopen()打开123.txt文件;

(2) 调用fread()函数,从123.txt文件读取数据;

(3) 调用fclose()函数,关闭打开的123.txt文件;

       那么,在这个操作流程中,都围绕着一个对象进行,就是fopen()函数返回的文件指针对象。根据fopen()函数的定义如下:

FILE* fopen(const char *path, const char *mode);

       该函数返回一个FILE*类型的指针变量,我们称为:文件指针

       例如,调用fopen()函数打开123.txt文件,如下:

FILE* fp = NULL;            //定义文件指针变量;

fp = fopen("123.txt", "r"); //打开文件,获取返回的文件指针;

       调用fopen()函数打开123.txt文件成功之后,就返回一个FILE*类型的文件指针,并赋值给文件指针变量fp,那么,文件指针变量fp指向123.txt文件。

       然后,调用fread()函数从fp文件指针读取数据,就是从文件指针fp指向的123.txt文件读取数据。

       操作完之后,需要调用fclose()函数来关闭文件指针fp。那么,文件指针fp就不再指向123.txt文件。此时,再调用fread()、fwrite()函数来操作,都不会对123.txt文件有任何影响。

       所以,这一系列的文件操作函数,都是围绕FILE*类型的文件指针进行。FILE结构体是标准C语言定义的一个类型,我们不用去理解该结构体的定义,只需要知道fopen(), fread(), fclose()等函数的应用,通过这些函数来实现对文件的操作。

韦凯峰 Linux C/C++ 程序设计教程,Linux 系统编程,Openwrt 系统开发,微信:13926572996,QQ:1523520001,博客:www.mylinux.vip

以上是关于文件指针的分析的主要内容,如果未能解决你的问题,请参考以下文章

qt creator源码全方面分析(4-1)

C语言函数指针详解

逆向分析技术

C语言 如何通过文件指针获得文件名?

在不移动文件指针的情况下检查文件指针是不是已达到 EOF?

控制文件指针的移动