• IO-DAY1


    1.用fprintf将链表数据保存到文件中

    2用fscanf将文件中数据写入链表

    #include<stdio.h>
    #include
    #include<stdlib.h>
    #include
    typedef int datatype;
    typedef struct link_list
    {
        union
        {
            int len;
            datatype data;
        };
        struct link_list *next; 
    }link_list,*link_p;
    link_p create_head()
    {
        link_p L = (link_p)malloc(sizeof(link_list));
        if(L==NULL)
        {
        printf("空间申请失败\n");
        return NULL;
        }
        L->len=0; 
        L->next=NULL;  
        return L;
    }
    //创建结点
    link_p create_node(datatype data)
    {

        link_p new = (link_p)malloc(sizeof(link_list));
        if(new==NULL)
        {
        printf("空间申请失败\n");
        return NULL;
        }
        new->data = data;
        return new;  
    }
    //头插
    void insert_head(link_p H,datatype data)
    {
        if(H==NULL)
        {
        printf("入参为空,请检查\n");
        return;
        }
        link_p new = create_node(data);
        new->next = H->next;  
        H->next = new;
        H->len++;
    }
    void out_put_link(link_p H)
    {
        if(H==NULL)
        {
            printf("入参为空,请检查\n");
            return;
        }
        link_p p = H->next;  
        while(p!=NULL)
        {
            printf("%d->",p->data);
            p = p->next;
        }
        printf("NULL\n");
    void save(char *filename)
    {
        FILE *w=fopen(filename,"w");
        if (w == NULL)
        {
            return 1;
        }
        link_p p=H->next;
        for (int i = 0; i len; i++) 
        {
            fprintf(w,"%d",p->data);
            p=p->next;
        }
        fclose(w);
    }void show(char *filename)/*输出文件*/
    {
        FILE *fp=fopen(filename,"r");
        link_list arr[100];
        if (fp== NULL)
        {
            return 1;
        }
        for (int i = 0; i len; i++)
        {
            fscanf(fp,"%d",&(arr[i].data));
            printf("%d\n", arr[i].data);
        }
        fclose(fp);
    }
    int main(int argc, char *argv[])
    {
        link_p H=create_head();
        insert_head(H,1);
        insert_head(H,3);
        insert_head(H,5);
        insert_head(H,7);
        insert_head(H,9);
        out_put_link(H);
        save(filename);
        free(p);
        show(filename);
          return 0;
    }
     

  • 相关阅读:
    [机器学习算法]支持向量机
    教你挑选成品短视频App源码的5大关键要素
    uniapp 高德地图与百度地图精准定位,高德地图定位报错
    百度智能云获评Forrester中国市场人工智能/机器学习平台领导者
    关路灯(区间dp)
    【Java+SSM】请假审批系统
    QT学习(1)
    智能运维应用之道,告别企业数字化转型危机
    Dubbo-Adaptive实现原理
    Qt学习总结之QAbstractButton类
  • 原文地址:https://blog.csdn.net/qq_60519264/article/details/136381196