zoukankan      html  css  js  c++  java
  • 文件结构体成员排序

    /***
    fwriteStruct.c
    ***/
    #include<stdio.h>
    #include<string.h>
    
    struct student
    {
        char name[10];
        int age;
    };
    
    int main()
    {
        struct student st[5] = {0};
        int i;
        for(i = 0; i < 5; i++)
        {
            printf("please input name:");
            scanf("%s",st[i].name);
            printf("please input age:");
            scanf("%d",&st[i].age);
        }
        FILE *p = fopen("./c.txt","w");
        fwrite(st,sizeof(struct student),10,p);
        fclose(p);
        return 0;
    }
    /***
    freadStruct.c
    ***/
    #include<stdio.h>
    struct student 
    {
        char name[10];
        int age;
    };
    
    int main()
    {
        struct student st[5] = {0};
        FILE *p = fopen("./c.txt","rb");
        int i;
        for(i = 0; i < 5; i++)
        {
            fread(&st[i],sizeof(struct student),1,p);
        }
        fclose(p);
        
        for(i = 0; i < 5; i++)
        {
            printf("name = %s,age = %d
    ",st[i].name,st[i].age);
        }
        return 0;
    }

    运行结果:

    ubuntu1604@ubuntu:~/wangqinghe/C/20190728$ ./sort

    name = wang,age = 23

    name = qing,age = 56

    name = he,age = 58

    name = wa,age = 13

    name = heq,age = 57

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

    运行结果:

    ubuntu1604@ubuntu:~/wangqinghe/C/20190728$ ./sort

    name = wang,age = 23

    name = qing,age = 56

    name = he,age = 58

    name = wa,age = 13

    name = heq,age = 57

    /***
    sort.c
    ***/
    #include<stdio.h>
    struct student 
    {
        char name[10];
        int age;
    };
    
    void swap(struct student *a,struct student *b)
    {
        struct student temp = *a;
        *a = *b;
        *b = temp;
    }
    
    void bubble(struct student *p,int n)
    {
        int i;
        int j;
        for(i = 0; i < n; i++)
        {
            for(j = 0; j < n- i; j++)
            {
                if(p[j-1].age > p[j].age)
                {
                    swap(&p[j-1],&p[j]);
                }
            }
        }
    }
    
    int main()
    {
        struct student st[5] = {0};
        FILE *p = fopen("./c.txt","rb");
        int i;
    /*
        for(i = 0; i < 5; i++)
        {
            fread(&st[i],sizeof(struct student),1,p);
        }
    */
        fread(st,sizeof(struct student),5,p);
        fclose(p);
    
        bubble(st,5);
        
        for(i = 0; i < 5; i++)
        {
            printf("name = %s,age = %d
    ",st[i].name,st[i].age);
        }
    
        p = fopen("./d.txt","wb");
    /*
        for(i = 0; i < 5; i++)
        {
            fwrite(&st[i],sizeof(struct student),1,p);
        }
    */
        fwrite(st,sizeof(struct student),5,p);
        return 0;
    }    
  • 相关阅读:
    java getEnv不区分大小写 getProperty区分大小写
    spring 解析配置文件问题
    (转载)Java里快如闪电的线程间通讯
    quartz中关键类
    HTTP中缓存相关
    (转载)javascript函数作用域和提前声明
    (转载)ETL利器Kettle实战应用解析系列一【Kettle使用介绍】
    rcnn 理解笔记
    打乱图片顺序,按一定比例分别存放
    Python 批量读取文件夹下的图片,并保存在文档下
  • 原文地址:https://www.cnblogs.com/wanghao-boke/p/11260942.html
Copyright © 2011-2022 走看看