• 文件结构体成员排序


    /***
    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;
    }    
  • 相关阅读:
    如何使用vs2008单元测试416a3648
    限制TextBox的长度
    DataGrid双击事件
    结构与类
    DataGrid删除对话框 & 限制编辑模试TextBox长度
    安逸...
    新来的,请多关照~!
    asp.net中使用JMail发邮件
    silverlight3datagrid中的数据导出到excel
    sl3中的DataGrid中的数据导出到Excel中 使用csv格式 解决中文是乱码的问题
  • 原文地址:https://www.cnblogs.com/wanghao-boke/p/11260942.html
Copyright © 2020-2023  润新知