循环双链表加目录IO实现简单的文件检索

简单学生信息管理系统的升级(双向循环链表+文件IO)C语言 这篇博客承接上一篇(https://blog.youkuaiyun.com/qq_41861442/article/details/99077592)加入了文件IO,每个简单程序都会面临这样的问题,数据无法保存,再次进入,数据全没了,那么我们就需要运用到文件IO的知识了,(没有数据库,bro) 在这里插入代码片#include<stdio.h> #include<stdlib.h> #... 阅读详情
#include"stdio.h"
#include"stdlib.h"
#include"fcntl.h"
#include"dirent.h"
#include"string.h"

typedef struct doublelink
{
char name[20];
struct doublelink *front;
struct doublelink *frev;
}dl;

dl *head = NULL;
dl *last = NULL;

void dircreate()
{
DIR *mydir;
struct dirent *myitem;
mydir = opendir(".");
while( ( myitem = readdir(mydir) ) != NULL )
{
if( ( strcmp(myitem->d_name,".") == 0 ) || ( strcmp(myitem->d_name,"..") == 0) )
{
continue;
}
dl *p = (dl *)malloc(sizeof(dl));
if( head == NULL)
{
strcpy(p->name,myitem->d_name);
head = p;
head->front = NULL;
head->frev = head;
last = p;
}
else
{
strcpy(p->name,myitem->d_name);
last->frev = p;
p->front = last;
last = p;
last->frev = head;
}
}
head->front = last;
closedir(mydir);
}

void print()
{
dl *p = head;
while(p->frev != head)
{
printf("%s ",p->name);
p = p->frev;
}
printf("%s \n",p->name);
}

void printfile()
{
int x;
printf("请选择功能\n");
printf("1上一个文件\n");
printf("2下一个文件\n");
printf("3退出\n");
dl *p = head;
printf("第一个文件为: %s \n",p->name);
while(1)
{
printf("请输入\n");
scanf("%d",&x);
switch(x)
{
case 1:
{
p = p->front;
printf("上一个文件为: %s \n",p->name);
break;
}
case 2:
{
p=p->frev;
printf("下一个文件为: %s \n",p->name);
break;
}
case 3:
{
printf("正常退出\n");
exit(0);
}
}
}
}

int main()
{
dircreate();
print();
printfile();
return 0;
}


 

c实现学生管理系统(链表和文件读取写入) 这是我自己实现的,有问题不懂的可以问我哦!嘿嘿 注意,这是在Eclipse下写的,也可以在终端下打开,不过得是LINUX系统下 立即下载

相关推荐

将AAL图谱对应到Yeo7大网络中【原理,代码分析】

本文介绍了将AAL2图谱映射到Yeo7大功能网络的方法。通过整合皮层(Yeo2011)、小脑(Buckner2011)和纹状体(Choi2012)三个区域的功能网络图谱,采用投票机制确定每个AAL区域的网络归属。具体步骤包括:1)统计每个AAL区域体素在各网络图谱中的分布;2)选择体素数量最多的网络作为该区域的最终标签。该方法实现了从解剖结构到功能网络的映射,可获得120个AAL区域对应的7大功能网络标签。

yes666666的博客 2204

C语言_链表实现目录

参考Windows下的目录形式,一个目录有4部分进行链接:上级目录、下级目录、同级左目录、同级右目录。因此一个目录的基本链表形式应该如下图:这上下左右四个节点,并不是一定要有链接值。如果没有链接,在代码中的体现就是指针指向NULL。

Fresh_man111的博客 1160

APP抓包-代理转发绕过反代理+Xposed绕过证书校验

而这里的牛牛不止设置了反代理还设置了证书校验,一闪而过的三个数据包就是在校验证书。而proxifier工具的转发机制获取的是网络接口出口数据,相当于是在网络接口设代理。这个时候就可以在夜神打开牛牛开始抓包了,打开牛牛可以看到proxifier有夜神流量通过。关闭代理之后牛牛就正常了,可恶的牛牛啊,这样我没办法抓包啊,怎么办啊。模拟器开启代理,burp开启监听。打开牛牛app,牛牛不在报错。牛牛app检测的是系统代理,也就是在模拟器或手机上设置的代理。再在浏览器下载两个模块,在夜神安装,用来屏蔽证书校验。

xiaoheizi的博客 7530

linux遍历文件目录 链表形式

转载的,还未验证,过几天有空验证一下,深入你姐一下链表的使用。 Dev C++ 测试通过:利用链表实现目录内所有文件列表显示 #include  #include  /*#include */ #include  void main(int argc,char *argv[]) {   DIR *directory_pointer;   struct dirent *

sean 1316

AD元件库构建及维护之——DbLib公共元件库的使用教程

AD元件库构建及维护之——DbLib元件库的使用教程

qq_43105486的博客 2万+

AICodeing:AI驱动的全栈开发革命

作为阿里/字节跳动的资深Java工程师,我们正站在研发效能革命的临界点上。本文将深入探讨如何利用AI技术重构全栈开发流程,实现从需求到上线的量子级提速。

weixin_43290370的博客 1134

【链表的基本操作】目录

1、删除 头部删除 中间删除 尾部删除 随机删除(包含以上三者) 2、插入 *头部插入(插在头节点之前) 尾部插入(插在尾节点之后) 随机插入(给定一个节点地址,插在该结点之后) 3、查询 1、一个地址的下一个地址,如果本身为NULL返回0,否则返回地址。 2、第i个位置的地址(从0开始)3、一个地址的上一个地址 4、链表长度 4、修改 1、区间n->m的翻转 2、更改第i个位置的值(如果心情好可以用重载[]和=) 3、更改某个地址的值4、区间n->m的删除 其中带颜色的为不常用

windyuan~ 186

小程序设计中的区块链应用:数字藏品实现

本文旨在为开发者提供在小程序中实现区块链数字藏品功能的完整技术方案。区块链与数字藏品的基础概念智能合约的设计与实现小程序与区块链的交互方式数字藏品的完整实现流程文章将从基础概念入手,逐步深入到技术实现层面,最后通过完整项目案例展示数字藏品在小程序中的实现方式。每个技术点都会配合代码示例和架构图进行说明。区块链:一种分布式数据库技术,通过加密算法保证数据不可篡改数字藏品:基于区块链技术的数字资产,具有唯一性和可验证性NFT。

小程序开发 1350

链表的一个简单应用---目录下的文件并排序

/* 2015-1-13 [watchmen 数据结构和算法 01-链表和数组] ** 链表的一个简单应用,读取目录下的文件及子文件名并排序 ** (a) 不知道这个目录下有多少个子文件和目录 ** (b) 读取目录下的子目录条目.opendir 打开目录 readdir 从目录中读取一个文件项, 读取的顺序不是排列好的 ** 选择链表来存储是不错的选择. 动态的增加节点数,

爱韩丫头forever 525

RT-DETR 模型剪枝优化:结构化剪枝对 R18/R50 性能的影响

本文提出分层结构化剪枝策略R18:参数量减少 42%(28M→16.2M),推理速度提升 35%(15→20.3 FPS@Jetson Nano),mAP@0.5 仅降 1.2%;R50:参数量减少 55%(170M→76.5M),推理速度提升 48%(42→62.2 FPS@T4),mAP@0.5 仅降 2.1%。核心价值:为 RT-DETR 提供“精度-效率-部署”平衡的轻量化方案,推动其在边缘设备、工业质检等场景的大规模落地。部署建议。

走向CTO的路上... 464

华为OD机试真题 2026-9-2【查找幸运数】

华为OD机试真题 新系统【查找幸运数】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题 【查找幸运数】多语言题解。

qq_45776114的博客 496

用双向链表和文件IO实现一个简单的通讯录小系统

使用双向链表和文件io实现通讯录

九点就去睡 651

手把手教你学simulink(42.1)--储能系统场景示例:基于Simulink的电池+超级电容器混合储能系统

混合储能系统(HESS)结合了电池和超级电容器的优点,能够在满足高功率需求的同时提供较长的持续放电时间。这种组合特别适合用于电动汽车、可再生能源发电系统、电网频率调节等应用场景。本项目将详细介绍如何在MATLAB/Simulink中搭建一个完整的基于电池和超级电容器的混合储能系统,并提供具体的代码实现和设计步骤。如果你需要实现更复杂的控制逻辑,可以使用MATLAB Function模块。以下是一个简单的例子,展示了如何在该模块中实现一个条件逻辑,以分配电池和超级电容器的充放电任务。Matlab。

MHD0815的博客 542

基于开发板linux系统的利用文件IO 与 数据结构 制作一个 超市购物系统项目

利用文件IO 与 数据结构 制作一个 超市购物系统。

aaa2540567665的博客 1780

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

链表各类操作详解

链表概述   链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。它可以根据需要开辟内存单元。链表有一个“头指针”变量,以head表示,它存放一个地址。该地址指向一个元素。链表中每一个元素称为“结点”,每个结点都应包括两个部分:一为用户需要用的实际数据,二为下一个结点的地址。因此,head指向第一个元素:第一个元素又指向第二个元素;……,直到最后一个元素...

ajwh64482的博客 1172

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

链表与文件读写实例

12月份的第一篇博客,最近忙着吃鸡、忙着上班,写好的代码一直没有发布上来。 ======================================================== 本篇涉及到的知识点 1、链表的操作(建立、初始化、排序、遍历、查找) 2、c语言文件读写操作(fgets读取文本内容后去除’\n’) fopen()第二个参数 3、C语言时间函数(具体请百度自学) tim...

qq_943588990的博客 4957

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

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

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

c_manito的博客 8万+

将文件读取到链表里面

/* * func.c * * Created on: 2012-12-8 * Author: wzm */ #include"head.h" void Init(pList mylist) { mylist->size=0; mylist->head.next=NULL; mylist->head.s=NULL; } int Create(pList mylist

wzm10455的专栏 7600

链表读写文件

本人在做学生管理系统保存文件时遇到的,开始不会,但在查找了很长时间后,及自己在结合自己代码做了一些修改,终于算是读写成功了,哈哈 //链表保存到文件 students *listtofile_stu(students *phead) {     FILE *fp;     students *tmp;      if((fp=fopen("student","wb"))==NU

小小的CODEING的专栏 4733

文件检索(C循环双链表实现)

/********************************************************************************** 读取目录中的文件名,放到循环双链表中,按1查看前一个, 按2查看后一个,按3退出。 **************************************************************************

2787

双向链表与文件输入输出流(C语言)

文件输入输出 #include<stdio.h> #include<string.h> void split(char* buff) { if (buff == NULL) return; char* token; //获取第一个子字符串 token = strtok(buff, "="); //继续获取其他的子字符串 while (token != NULL) { printf("%s\n", token); token = strtok(

hejiegoubao的博客 330

文件与链表的结合

#include<stdio.h> #include<stdlib.h> /*题目: 建立一个链表,每个结点包括:学号、姓名、性别、年龄。输入一个 年龄,如果链表中的结点所包含的年龄等于此年龄,则将此结点删去。 */ typedef struct Student //定义结构体 { int num; char name...

白菜 4979

一个MP3搜索类的实现(递归--又见递归)

    为什么说又见递归呢,因为刚毕业时候找工作,第一家公司的研发主管给我们出的面试题里面就有一道递归,最最经典的递归的例子--汉诺塔.     再说下又.这个又是因为我最近在搞一个android音乐播放器.其中有一项功能是搜索sd卡上所有的mp3文件.本来呢,使用content provider提供的方法也是可以做到的.不过因为自己对content provider不是很熟悉.所以采...

weixin_34268579的博客 119
上一篇: 约瑟夫环
下一篇: 双链表实现简单的学生管理系统
zhouxf_cn
博客等级 码龄14年 54粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值