检查一个目录. readdir返回的条目是目录,链接或文件
我正在制作一个在Linux shell中运行的程序,并接受一个参数(一个目录),并显示目录中的所有文件及其类型. 输出应该是这样的:
如果没有参数,则使用当前目录.这是我的代码:
出于某种原因,dent-> d_type不显示文件类型.我不确定该怎么办,有什么建议吗? 最佳答案
d_type是一种速度优化,可以在支持lstat(2)时保存.
正如 如果d_type == DT_UNKNOWN,如果单独的文件名不足以决定它是无趣的,那么你总是需要回到使用 Linux 无论如何,其他答案主要涵盖了一些内容,但是在d_type == DT_UNKNOWN(Linux上为0,d_type存储在曾经是填充字节,直到Linux 2.6.4)的情况下,错过了你需要回退的关键细节. . 为了便于移植,你的代码需要检查struct dirent甚至是一个d_type字段,如果你使用它,或者你的代码甚至不能在GNU和BSD系统之外编译. (见readdir(3)) 我为finding directories with readdir写了一个例子,当d_type在编译时,DT_UNKNOWN和符号链接不可用时,使用带有回退到stat的d_type. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- linux – 如何在使用mpirun时使分析器(valgrind,perf,pprof
- 扩展运行Linux的RAID 1(HP SmartArray P410i)
- linux – * nix配置文件存储约定?
- linux – 将内容添加到文件的中间位置,直到结束时才读取内
- i386 relocatable内核实现
- 有人用uClibc交叉编译Mono for MIPS 64吗?
- 将两个进程的stdout重定向到Linux C中的另一个进程的stdin
- 如何从Linux终端使用regex删除文件夹
- linux – 企业故障转移(例如google.com)如何实际运行?
- linux – 如何检查网络上的IP地址是否空闲