在C语言中用一个指针变量指向一个文件,这个指针称为文件指针。通过文来自件指针就可对它所指的文件进行各种操作。
头文件:<fstream>:C++STL文件输入输出流;<stdio.h> : C标准输入输出
定义说明文件指针余士鲁科它植说王云的一般形式为:
FILE *指针变量标识符;
其中FILE应为大写,它实际上是由系统定义的一个结构,该结构中含有文件名、文件状态和文件当前位置等信息。在编写源程序时不必关心FILE结构的细节。
在使用文件时销利管县众下下进越田,需要在内存中为其分配空间,用来存放文件的基本信息,给结构子酒庆体类型是由系统定义的,C语言规定该类型为F来自ILE型,其声明如下:
typedef struc族杨义找黑t
{
short level;
unsigned flags;
360百科 char fd;
unsigned char hold;
shor意席存t bsize;
unsigned char *buffer;
unsigned ar *curp;
unsigne玉历百渐福想d istemp;
short token;
}FILE;
例如:
FILE *fp;
表示fp是指向FILE结构的指针变量,通过fp即可找存放某个文件信息的结构变量,然后按结构变量提供的信息找到该文件,实施对文件的操作。习惯上也笼统地把fp称为指向一个文件的指针。
fstream streamObject("example.txt");//首先定义一个流对象,并指定一个文件连接:
//放阻部然后是控制指针,也就是楼主你想要的答案,
//一般是使用seekg函数来控制文件的指针:
//打开后默认是指向文件开头
//因此打开后有没有下面这句代码是一样的,下面的代码表示指向文件开头
streamObject.seekg(ios::b来自eg);//指向开头(和streamObject.seekg(0,ios::beg)效果是一样的)
streamObject.seekg(ios::end)汽地与跑乱微;//指向末尾:
streamObject.seekg(10,ios::cur); //让文件指针从当前位置向文件末方向移动10个字节
streamObject.seekg(-10,ios::cur); //让文件指针从当前位置向文件开始方向移动10个字节
食海卫 streamObjec维著序讲型t.seekg(10,ios::beg); //让文件指针定位到离文件开头10个字节的位置
..360百科.以此类推
读取文件指针当前指向的数据的方式是这样的:
比如读取int:
int i;
strea呀范逐作理服余伯燃社探mObject>>i;
读取字符串:
string str;
streamObject>>str;
默认会自动过滤空格和换行
读取后文件指针会向文件末方向偏移读取的字节数