关于linux系统遍历一个目录下所有文件的代码原理以及代码

本文作者在尝试编写遍历Linux目录的代码过程中遇到挑战,强调了理解和处理符号链接的重要性,同时提到了opendir、readdir、closedir等函数的应用。作者认为文件目录遍历虽是固定功能,但实现方式因人而异,希望通过自己的理解写出独特的代码。此外,文章还提及了对元宇宙的看法以及学习计算机科学和算法的重要性。
摘要由CSDN通过智能技术生成

11.23

这段时间一直在写linux系统内核的代码,刚开始就在linux文件系统这儿纠了好久,直到现在,说不会写吧!写了好几版了,也生成exe了,说会写吧,代码一跑,哦豁,没达到自已想要的效果,就是文件目录没遍历成功。

最关键的点还是,符号链接以及目录遍历的事情,不出现segmentation fault就很不错了。跟我们平常的循环不大一样,这个是目录遍历,i-node文件表多多少少还是得懂点的。

书上有两个代码,一个是只遍历一个目录下的一层级目录,不是我想要的效果,一个是遍历了一个目录下所有的层级目录,但是主要目的是计算那个目录下的不同文件类型的数量以及占比,勉强符合我的要求,我保证我看懂了,甚至看到我都快把那一百来行代码背出来了,看了太多次了,但是一改一写出来,得,不是那个味儿,继续整。网上倒是有个符合条件的,几十行代码,小巧功能也完全符合,又不是我写的,不得劲儿,还是得自已整。

看书上大佬写的文件目录遍历的代码,我唯一印象深刻的就是,一定要忽略掉符号链接这个事,否则好像容易造成死循环。以及,opendir readdir closedir strcmp strcpy lstat 这几个函数加上我自已自定义的函数我都快要写臭了,竟然还是写不出我想要的效果,尴尬!

总之,文件目录遍历在我看来还是挺重要的,虽然是这么个固定功能,但是人不一样,写出来的代码自然也是,不说了,继续去写了,写出来倒是可以贴一下,反正是我自已写的,自已是最了解

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值