• 文件的定位与出错检查


    1,rewind函数

    函数调用形式:
    rewind(文件指针);
    功能:使位置指针重新返回到文件的开头,

    2,fseek函数

    调用形式:fseek(文件指针,位移量,起始点);
    起始点:用0,1,2或其对应的名字,SEEK_SET,SEEK_CUR,SEEK_END代替,分别代表文件的开始,文件当前位置,文件末尾.

    位移量;指以起始点为基点,向前(-),或向后的移动的字节数.ANSIC标准规定在数字末尾加一个字母L,表示long

    功能:把文件的读写位置指针,移到指定位置,

    fseek(fp,128L,SEEK_SET);
    把文件位置指针移到到离文件头128字节处,
    SEEK_SET指文件开始,SEEK_CUR指文件当前位置,SEEK_END指文件末尾.
    fseek(fp,-10L,2);把文件位置指针移到到离文件尾巴10字节处,
    0,1,2分别代表SEEK_SET起始,SEEK_CUR当前,SEEK_END末尾;
    fseek把文件读写位置指针移到指定位置,
    rewind把位置指针重新移到到文件的开始位置.

    默认情况下:位移量中,整数是指向后退(基点是文件的当前位置指针)

    -是向前移到;

    文件定位与出错检查;

    fseek位置指针一般用于二进制文件,

    4,ftell函数;

    ftell函数调用形式
    ftell(文件指针);
    返回文件位置指针当前值;
    eg:pos=ftell(fp);
    获取fp指向文件的当前读写位置,并将此值赋给变量pos;

    5,ferror函数

    ferro()函数,用来确定文件操作系统中是否出错,
    其函数原型是,
    int ferror(FILE *fp);
    如果ferror()返回值为0,则表示此前的文件操作成功,负责若返回一个非零值,则表示最近一次文件操作出错,
    由于对文件的操作每次I/O操作都会形成新的出错码,因此每次文件操作后应立即调用ferror()函数查看此次操作是否成功,否则信息会被覆盖;
    if(ferror(fp))
    {
      printf("file can't I/O 
    ");
      fclose(fp);
      exit(0);
    }

    6,clearer函数

    clearer函数原型
    void clearer(FILE *fp);
    功能是:清除文件结束标志或文件出错标志,本函数没有返回值,设置为0;

    7,exit函数

    当文件出错的时候,为了避免数据丢失,正常返回操作系统,可以调用过程控制函数,exit关闭文件,终止程序的执行

    exit([status]);

  • 相关阅读:
    设计模式小结
    Asp.net 中HttpHandler,HttpModule,IHttpHandlerFactory的原理与应用(一)
    全新对待.net一次全面的旅程
    页面生命周期小结
    面向对象点滴
    Chapter 2.1:WCF服务契约的重载与继承详解
    一封给“X教授”的回信(讨论Socket通信)
    Chapter 1.4:WCF实践 元数据详解
    有了WCF,Socket是否已人老珠黄?
    Chapter 1.3:WCF实践 HelloWorld
  • 原文地址:https://www.cnblogs.com/ruiy/p/error.html
Copyright © 2020-2023  润新知