文件指针

在C语言中用一个指针变量指向一个文件,这个指针称为文件指针。通过文件指针就可对它所指的文件进行各种操作。
基础资料
  • 中文名:文件指针
  • 外文名:file pointer
  • 相关语言:C语言
  • 定义说明形式:FILE *指针变量标识符等
  • 控制方法:定义一个流对象并指定文件连接等
  • 简介

    概念

    头文件:fstream.h:文件输入输出流

    定义

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

    FILE *指针变量标识符;

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

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

    typedef struct

    {

    short level;

    unsigned flags;

    char fd;

    unsigned char hold;

    short bsize;

    unsigned char *buffer;

    unsigned ar *curp;

    unsigned istemp;

    short token;

    }FILE;

    例如:

    FILE *fp;

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

    控制方法

    fstream streamObject("example.txt");//首先定义一个流对象,并指定一个文件连接:

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

    //一般是使用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;

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

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

    首页
    科技
    #贵族
    最新入驻
    贾科莫·普契尼
    Caroline Lufkin
    翁建宇
    相关阅读
    Seek
    内容词条·5371人浏览
    fclose
    内容词条·4926人浏览
    君逸M530
    内容词条·5158人浏览
    Flash Player 8
    内容词条·1203人浏览
    方正卓越
    内容词条·1038人浏览
    httpd
    内容词条·949人浏览
    • 网站地图
    • |

    Copyright 2023 fuwu029.com赣ICP备2022008914号-4