文件指针定位--fseek,ftell

来源:互联网 发布:ubuntu 15.04 vim配置 编辑:程序博客网 时间:2024/06/05 19:17
#include <iostream>using namespace std;void main(){    FILE *fp=fopen("1.txt","a+");    cout<<ftell(fp)<<endl;//最开始时,指针的初始位置为0,即文件的开始位置    cout<<fgetc(fp)<<endl;//得到此位置的值    cout<<ftell(fp)<<endl<<endl;//运行完上一语句后,指针的位置(自动后移一位),此时位置为1    fseek(fp, 4L, SEEK_SET);//指针定位,从SEEK_SET(即文件开始的开始位置)后移4,位置定位在4....文件中每位占一个字节    cout<<ftell(fp)<<endl;    cout<<fgetc(fp)<<endl;    cout<<ftell(fp)<<endl<<endl;//得到运行完上一语句后,指针的位置,此时位置为5    fseek(fp, 1, SEEK_CUR);//从当前位置后移1    cout<<ftell(fp)<<endl;    fseek(fp, -3, SEEK_END);//从文件末尾前移3    cout<<ftell(fp)<<endl;}

这里写图片描述

这里写图片描述

fseek:将指针移到指定位置,如果执行成功函数返回0。如果执行失败,则不改变fp指向的位置,函数返回一个非0值。
ftell:获得文件的当前读取位置

fseek(fp,100L,0);将位置指针移动到离文件开头的100个字节处
fseek(fp,50L,1);将位置指针移动到当前位置的50个字节处
fseek(fp,-10L,2);将位置指针从文件末尾处向后退10个字节
(其中0代表文件开始SEEK-SET,1代表文件当前位置SEEK-CUR,2代表文件末尾SEEK-END)

0 0
原创粉丝点击