定义的结构体:

struct student
{
]; //学生学号
];  //学生姓名

struct student *next;  //next 指针 指向 struct  student 类型的变量
}stu;

创建文件:

void Create_File_List()
{
    FILE *fp;
    if ((fp = fopen("student.txt","rb"))==NULL)                 /*如果此文件不存在*/
    {
        if ((fp = fopen("student.txt","wb+"))==NULL)
        {
            outtextxy(, , "无法建立文件!");  

        }
    }
}

写入文件信息:

/***************

函数功能:录入出勤学生

/***************/

void add_student(  )
{
    FILE *fp;
    fp=fopen("student.txt","a+");
    strcpy(stu.ID,"");// 与链表head结点 无数据 有关
    strcpy(stu.name,"");
    fwrite(&stu,,fp);
    InputBox(stu.ID,,"请输入学生学号");
    outtextxy(,,stu.ID);
    Sleep();
    InputBox(stu.name,,"请输入学生姓名");
    outtextxy(,,stu.name);
    Sleep();
    fwrite(&stu,,fp);
    fclose(fp);
  }

这里值得注意的是:写入文件的时候,开始时要事先写入第一个数据,这里写入的空数据,这与链表head处数据为空有关。

从已经写入的文件中读到链表中:

/***************

函数功能:创建链表

/***************/
struct student * CreateList()
{
    struct student *pointer,*head,*q;//head指针为链表的头结点,是找到链表的唯一依据,如果head指针丢失,那么整个链表就找不到了;p指针总是指向新申请的结点;q指针总是指向尾节点
    struct student temp;//定义结构体别名
    FILE *fp;
    pointer=(struct student *)malloc(sizeof(struct student ));  // p指向新开辟的节点内存
    head = pointer;    //开辟头结点内存      头结点中没有学生成绩信息
    q = pointer;       //开辟尾节点内存   q指针总是指向尾节点
    q->next = NULL; // //标志链表的结束 尾节点的特点是next成员的值为NULL,它是最后一个节点,作为链表结束的标志,NULL是一个符号常量表示值为0的地址
    fp=fopen("student.txt","rb");
    ,fp)!=)//从文件中读结构体块
    {      pointer=(struct student*)malloc(sizeof(struct student)); // p指向新开辟的节点内存
    strcpy(pointer->ID,temp.ID);
    strcpy(pointer->name,temp.name);
    q->next=pointer;  //把新节点挂到原尾节点之后
    q=q->next;  //q指针指向新的尾节点
    }
    q->next=NULL;//标志链表的结束
    fclose(fp);
    return head;
}

从链表中输出打印到屏幕中数据:

/***************

函数功能:
输出链表 返回:指向链表表头的指针

/***************/

void Print_List(struct student *head)
{
    struct student* pointer;
    pointer=head->next; //跳过无数据的头结点
while(pointer!=NULL)
        {
        outtextxy(x,y,pointer->ID);
        outtextxy(x,y,pointer->name);
        pointer=pointer->next;//指向下一个节点
        }}

C语言中怎么将文件里的数据创建到(读到)链表中?的更多相关文章

  1. python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件

    python操作txt文件中数据教程[3]-python读取文件夹中所有txt文件并将数据转为csv文件 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考文献 python操作txt文件中 ...

  2. Android中fragment_main.xml文件里的组件获取的问题

    package com.dhy.phonedial; import android.app.Activity; import android.app.Fragment; import android. ...

  3. spring boot 在框架中注入properties文件里的值(Spring三)

    前一篇博客实现了打开第一个页面 链接:https://blog.csdn.net/qq_38175040/article/details/105709758 本篇博客实现在框架中注入propertie ...

  4. 修改Android中strings.xml文件, 动态改变数据

    有些朋友可能会动态的修改Android中strings.xml文件中的值,在这里给大家推荐一种简单的方法.strings.xml中节点是支持占位符的,如下所示: <string name=&qu ...

  5. 基于CentOS的MySQL学习补充四--使用Shell批量从CSV文件里插入数据到数据表

    本文出处:http://blog.csdn.net/u012377333/article/details/47022699 从上面的几篇文章中,能够知道怎样使用Shell创建数据库.使用Shell创建 ...

  6. 《程序实现》从xml、txt文件里读取数据写入excel表格

    直接上码 import java.io.BufferedReader; import java.io.DataInputStream; import java.io.File; import java ...

  7. 图解如何 将Excel里的数据导入到sql server数据库中

    项目中,经常会碰到如何将Excel里的数据导入到sql server中的问题. 下面,图解如何实现导入Excel中的数据到sql server 2008 R2: Excel截图如下: 查询pub数据库 ...

  8. 在vue项目中的js文件里使用vue实例

    参考的网址:https://blog.csdn.net/weixin_34353714/article/details/86958742 不为其他,就为了记录一下,方便以后查看: 第一种方法: 1.首 ...

  9. Xcode中Info.plist文件里的"Bundle versions string, short" 跟 "Bundle version" 的区别

    Bundle versions string, short:用于itunes上显示的版本号,即对外的版本.(最多是3个部分组成即 x.y.z) Bundle version:内部项目管理的版本号,不对 ...

随机推荐

  1. Spring中的事务

    Spring配置文件中关于事务配置总是由三个组成部分,分别是DataSource.TransactionManager和代理机制这三部分,无论哪种配置方式,一般变化的只是代理机制这部分. DataSo ...

  2. CAS客户端服务器端配置步骤

    来自我的个人网站:http://lkf.22web.org/ cas介绍: CAS 是 Yale 大学发起的一个开源项目,旨在为 Web 应用系统提供一种可靠的单点登录方法,CAS 在 2004 年 ...

  3. oracle RAC的VIP和scan

    我们都知道Oracle RAC中每个节点都有一个虚拟IP,简称VIP,与公网IP在同一个网段. 没有VIP时,Oracle客户端是靠"TCP/IP协议栈超时"来判断服务器故障.而T ...

  4. Progress.js – 为页面上的任意对象创建进度条效果

    Progress.js 是一个 JavaScript 和 CSS3 的库,它帮助开发人员为网页上的每个对象创建和管理进度条效果.你可以设计自己的模板,进度条或者干脆定制. 您可以使用 Progress ...

  5. sublime text 之添加插件 并使用

    通过package  controll  install  安装各种插件: 1:AdvancedNewFile,安装完毕后 快捷键:ctr+alt+n:输入框中输入你要创建的文件夹和文件,就创建好了. ...

  6. div水平居中

    1.先给它外层的div定位并left:position:absolute;left:50%; 2.获取当前元素div的宽度,并除以2 3.改变它的css:margin-left:-(获取当前元素div ...

  7. 【问题及解决】fonts/fontawesome-webfont.woff2 404 (Not Found)

    问题: 虽然网页正常显示和运行,但是有2个字体文件出现404错误.像笔者这种强迫症是接受不了的. 解决: 因为笔者的服务器是虚拟主机,只需要在主机控制器平台添加对应的MIME类型即可. 这样服务器就支 ...

  8. ae保存图层

    public static void OperateMapDoc(AxMapControl axMapC,string path, string strOperateType) { try { /// ...

  9. SharePoint 2013 内容部署报错

    错误信息 一 Export ran out of memory while compressing a very large file. To successfully export, turn co ...

  10. Office 365 - SharePoint 2013 Online 之应用程序开发

    1.给站点添加完Napa后,在网站内容里点击Napa,如下图: 2.创建一个新的app,如下图: 3.可以在Napa里添加新的项目,如下图: 4.添加新的文件,可以添加web页面.样式表.脚本,如下图 ...