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

  • 相关阅读:
    SQL 表连接
    SQL 时间日期函数
    SQL 转换函数
    25 -2 正则爬虫例子
    25 -1 正则 re模块 (findall、search、match、sub、subn、split、compile、finditer)
    25 python 常用模块
    24- 1 模块
    23-8 python模块定义
    23-5 面试题:1000个员工,我们认为名字和年龄相等,就为同一个人
    23-4 __eq__方法
  • 原文地址:https://www.cnblogs.com/wanghao-boke/p/11260662.html
Copyright © 2011-2022 走看看