当前位置: 首页 > news >正文

IO-DAY1

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

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

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<unistd.h>
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 <H->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 <H->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;
}
 

http://www.lryc.cn/news/311138.html

相关文章:

  • 英福康INFICON真空计MPG400MPG401使用说明PPT讲解课件
  • 【lua】lua内存优化记录
  • 紫光展锐T618_4G安卓核心板方案定制
  • Redis 群集部署
  • WPF中如何设置自定义控件(二)
  • 【C++】每周一题——2024.3.3
  • 5G网络架构与组网部署01--5G网络架构的演进趋势
  • 2023全球软件开发大会-上海站:探索技术前沿,共筑未来软件生态(附大会核心PPT下载)
  • C#插入排序算法
  • 快速搭建Vue前端框架
  • TS中private和protected的区别
  • 虚拟机Hyper-V操作记录
  • 90. 子集 II(力扣LeetCode)
  • 202435读书笔记|《半小时漫画中国史》——读点经济学与历史,生活更美好,趣味烧脑土地制度、商鞅变法、华丽丽的丝绸之路这里都有
  • 2023下半年主品牌锋芒依旧,江南布衣打破既定天花板?
  • Gitlab: PHP项目CI/CD实践
  • c语言游戏实战(10):坤坤的篮球回避秀
  • 初学arp欺骗
  • ftp几个常见错误问题及解决办法
  • 鸿蒙App开发新思路:小程序转App
  • C++17之std::invoke: 使用和原理探究(全)
  • shadertoy 游戏《来自星尘》摇杆复刻
  • 获取PDF中的布局信息——如何获取段落
  • Laya2.13.3在Web条件下使用键盘控制相机移动
  • centos系统服务器在Jenkins执行playwright UI自动化测试框架
  • boost.redis崩溃的解决方法
  • 蓝桥杯——123
  • 嵌入式基础知识-信号量,PV原语与前趋图
  • 代码遗产:探索祖传代码的历史、挑战与现代融合艺术
  • Vue3:用vite创建Vue3项目