c语言链表数据存入文件和读取文件

c语言链表数据存入文件和读取文件c语言,链表数据存入文件和读取文件

大家好,又见面了,我是你们的朋友全栈君。

近快一年没有接触c语言了,今天学妹问我了链表数据存如文件和读取文件到链表怎么实现,现在搞开发很少用文件,都是用数据库,在这儿我还是写一下简单的文件读取链表的操作。在c语言中,创建单链表需要使用到malloc函数动态申请内存;文件的读写需要首先使用fopen函数打开文件,然后使用fscanf,fgetc, fgets,fprintf,fputc,fputs等函数读写函数,最后读写完毕要使用fclose函数关闭函数。


下面的源程序展示了关于单链表如何从文件中读取数据和往文件里存入数据。

typedef struct node {
    int data;
    struct node *next;       
}node;
  
  
//从文件中读取数据存入链表 
node *createlink()
{
    node *head =(node*)malloc(sizeof(node));
    int t;
    node *p;
    node *q;
    p=q=head;
    FILE * r= fopen("input.txt","r");
    if(r==NULL)
    {
        printf("打开文件失败!");
        return NULL; 
    }
     
    while(fscanf(r,"%d",&t)!=EOF)
    {  
       q= (node*)malloc(sizeof(node));
       q->data=t;
       p->next=q;
       p=q;
    }
    p->next=NULL;
    return head;
}
  
 
//输出链表到屏幕和文件output.txt 
void outlink(node *head)
{
   node *p=head->next;
   FILE *w =fopen("output.txt","w");
   if(w==NULL)
   {
       printf("打开文件失败!");
       return
   }
   while(p)
   {
       //输出链表节点数据到屏幕 
       printf("%d ",p->data);
       //输出链表节点数据到文件output.txt 
       fprintf(w,"%d ",p->data);
       p=p->next;        
   }     
   printf("\n");
   fprintf(w,"\n");
   fclose(w);
   return;
}
  
int main()
{
    node *head;
    int n,m;
    head=createlink();
    outlink(head);
    system("pause");
    return 0;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/137216.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 概率中的PDF,PMF,CDF

    概率中的PDF,PMF,CDF一概念解释二数学表示三概念分析四分布函数的意义五参考文献一.概念解释PDF:概率密度函数(probabilitydensityfunction),在数学中,连续型随机变量的概率密度函数(在不至于混淆时可以简称为密度函数)是一个描述这个随机变量的输出值,在某个确定的取值点附近的可能性的函数。PMF:概率质量函数(probabilitymassfunction),在概率

    2022年5月10日
    52
  • python入门教程(非常详细)下载_古典吉他入门零基础

    python入门教程(非常详细)下载_古典吉他入门零基础世界上没有绝对的公平,如果我们起点就比别人第一步,那就更需要比别人努力了。每天比别人努力多一点点,就会有很大的突破。你必须特别努力,才能显得毫不费力。期待你成为理想中的自己那一天,加油!

    2022年8月29日
    4
  • nanomsg使用_jmeter下载安装教程

    nanomsg使用_jmeter下载安装教程最近在构建一个中间层的通信架构,本来想用dbus,在实验过程中发现dbus对于国产系统支持版本比较低,安装比较麻烦,今天无意中看中了nanomsg,尽管没有dbus那么强悍的生态,但基本能满足需求。

    2022年8月4日
    9
  • java 104规约_电网104规约解包(java)「建议收藏」

    java 104规约_电网104规约解包(java)「建议收藏」【实例简介】电网104规约解包java代码项目是围绕电网规约101规约(DL/T634.5101-2002)和104规约(DL/T634.5104-2009),项目基于Java语言。可以完成规约的内容解析工作和组装工作。可用于实际场景的把发送报文的生成等工作。【文件目录】101_104规约解析├──LICENSE├──README.md├──docs│├──附件1:广东电网配网自动…

    2022年6月20日
    38
  • KONG网关工作流程简介「建议收藏」

    KONG网关工作流程简介「建议收藏」KONG网关工作流程简介KONG网关工作流程图KONG网关工作流程介绍KONG网关工作流程图KONG网关工作流程介绍上面流程图仅仅是一个大致的示意图,不包含cosumer,plugin,先了解kong大致工作路程,再去深究。一、流程route路由器接收到请求后,根据路由规则,把请求转发到相应的service,service根据host、path、或者url属性,把请求直接转发到target或者把请求转发到upstream(bb两句,这里其实upsteam对service来说是透明的,ups

    2025年8月28日
    7
  • 《计算机网络》复习笔记

    《计算机网络》复习笔记《计算机网络》复习笔记本复习笔记基于谢希仁的《计算机网络》第五版教材整理。计算机网络复习笔记绪论1计算机网络2因特网概述3互联网的组成P84计算机网络的类别P175计算机网络的体系结构P25物理层1物理层下的传输媒体2关于信道的几个基本概念3信道复用技术数据链路层1使用点对点信道的数据链路层2点对点协议PPPP703

    2022年5月8日
    51

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号