zoukankan      html  css  js  c++  java
  • fseek函数

    fseek函数:

    int fseek(FILE *_FILE, long _Offset, int _Origin);

    函数设置文件指针stream的位置,如果执行成功,stream将指向以fromwhere为基准,偏移量offset(指针偏移量)个字节的位置,函数返回0。如果执行失败则不改变strea.m指向的位置,函数返回一个0。

    #include<stdio.h>
    #include<string.h>
    
    struct student
    {
        char name[100];
        int age;
    };
    
    int main()
    {
        struct student st = {0};
        FILE *p = fopen("./c.txt","rb");
        
        memset(&st,0,sizeof(struct student));
        fread(&st,sizeof(struct student),1,p);
        printf("name = %s,age = %d
    ",st.name,st.age);
    
        fclose(p);
        return 0;
    }

    运行结果:

    exbot@ubuntu:~/wangqinghe/C/20190725$ ./fseek

    name = wang,age = 21

    #include<stdio.h>
    #include<string.h>
    
    struct student
    {
        char name[100];
        int age;
    };
    
    int main()
    {
        struct student st = {0};
        FILE *p = fopen("./c.txt","rb");
        
        memset(&st,0,sizeof(struct student));
        fread(&st,sizeof(struct student),1,p);
        printf("name = %s,age = %d
    ",st.name,st.age);
    
        fseek(p,0-sizeof(struct student),SEEK_CUR);
    
        memset(&st,0,sizeof(struct student));
        fread(&st,sizeof(struct student),1,p);
        printf("name = %s,age = %d
    ",st.name,st.age);
    
        fclose(p);
        return 0;
    }

    运行结果:

    exbot@ubuntu:~/wangqinghe/C/20190725$ ./fseek

    name = wang,age = 21

    name = wang,age = 21

    #include<stdio.h>
    #include<string.h>
    
    struct student
    {
        char name[100];
        int age;
    };
    
    int main()
    {
        struct student st = {0};
        FILE *p = fopen("./c.txt","rb");
        
        memset(&st,0,sizeof(struct student));
        fread(&st,sizeof(struct student),1,p);
        printf("name = %s,age = %d
    ",st.name,st.age);
    
        //fseek(p,0-sizeof(struct student),SEEK_CUR);
    
        memset(&st,0,sizeof(struct student));
        fread(&st,sizeof(struct student),1,p);
        printf("name = %s,age = %d
    ",st.name,st.age);
    
        fclose(p);
        return 0;
    }

    运行结果:

    exbot@ubuntu:~/wangqinghe/C/20190725$ ./fseek

    name = wang,age = 21

    name = qing,age = 34

    #include<stdio.h>
    #include<string.h>
    
    struct student
    {
        char name[100];
        int age;
    };
    
    int main()
    {
        struct student st = {0};
        FILE *p = fopen("./c.txt","rb");
        
        memset(&st,0,sizeof(struct student));
        fread(&st,sizeof(struct student),1,p);
        printf("name = %s,age = %d
    ",st.name,st.age);
    
        //fseek(p,0-sizeof(struct student),SEEK_CUR);
        fseek(p,0-sizeof(struct student),SEEK_END);
    
        memset(&st,0,sizeof(struct student));
        fread(&st,sizeof(struct student),1,p);
        printf("name = %s,age = %d
    ",st.name,st.age);
    
        fseek(p,0-sizeof(struct student),SEEK_END);
    
        memset(&st,0,sizeof(struct student));
        fread(&st,sizeof(struct student),1,p);
        printf("name = %s,age = %d
    ",st.name,st.age);
    
        fclose(p);
        return 0;
    }

    运行结果:

    exbot@ubuntu:~/wangqinghe/C/20190725$ ./fseek

    name = wang,age = 23

    name = he,age = 557

    name = he,age = 557

  • 相关阅读:
    [Luogu 3794]签到题IV
    [JSOI 2015]最大公约数
    [BZOJ 5123][Lydsy1712月赛]线段树的匹配
    [BZOJ 5127][Lydsy1712月赛]数据校验
    [Codeforces Educational Round 71]Div. 2
    [NOIp 2018]all
    [BZOJ 2134]单选错位
    [hihoCoder 1384]Genius ACM
    [POJ 3233]Matrix Power Series
    [USACO 09FEB]Bullcow
  • 原文地址:https://www.cnblogs.com/wanghao-boke/p/11260662.html
Copyright © 2011-2022 走看看