文件指针

更新时间:2023-10-23 16:50

在C语言中用一个指针变量指向一个文件,这个指针称为文件指针。通过文件指针就可对它所指的文件进行各种操作。

概念

头文件::C++STL文件输入输出流; : C标准输入输出

定义

定义说明文件指针的一般形式为:

FILE *指针变量标识符;

其中FILE应为大写,它实际上是由系统定义的一个结构,该结构中含有文件名、文件状态和文件当前位置等信息。在编写源程序时不必关心FILE结构的细节。

在使用文件时,需要在内存中为其分配空间,用来存放文件的基本信息,给结构体类型是由系统定义的,C语言规定该类型为FILE型,其声明如下:

例如:

FILE *fp;

表示fp是指向FILE结构的指针变量,通过fp即可找存放某个文件信息的结构变量,然后按结构变量提供的信息找到该文件,实施对文件的操作。习惯上也笼统地把fp称为指向一个文件的指针。

控制方法

//然后是控制指针,也就是楼主你想要的答案,

//一般是使用seekg函数来控制文件的指针:

//打开后默认是指向文件开头

//因此打开后有没有下面这句代码是一样的,下面的代码表示指向文件开头

streamObject.seekg(ios::beg);//指向开头(和streamObject.seekg(0,ios::beg)效果是一样的)

streamObject.seekg(ios::end);//指向末尾:

streamObject.seekg(10,ios::cur); //让文件指针从当前位置向文件末方向移动10个字节

streamObject.seekg(-10,ios::cur); //让文件指针从当前位置向文件开始方向移动10个字节

streamObject.seekg(10,ios::beg); //让文件指针定位到离文件开头10个字节的位置

...以此类推

读取文件指针当前指向的数据的方式是这样的:

比如读取int:

int i;

streamObject>>i;

读取字符串:

string str;

streamObject>>str;

默认会自动过滤空格和换行

读取后文件指针会向文件末方向偏移读取的字节数

使用举例

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}