Linux编程--readdir

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux编程--readdir相关的知识,希望对你有一定的参考价值。

参考技术A 在Linux中, readdir 是常用来遍历文件夹下的文件

通常 readdir 都是与 opendir 配合使用. 通过 opendir 打开的目录, 使用 readdir 来进行遍历读取

返回的 dirent 即 : directory_entry , 结构如下

例如查找一个目录下为 name 的文件

在linux下的c语言编程时使用readdir的时候读取到的“.”和“..”怎么去掉?

我用如下的判断根本判断不出来:
if((direntp->d_name==".")||(direntp->d_name==".."))
而用printf打印出来的direntp->d_name的值确实就是“.”和“..”
郁闷了
谢谢你啊 ,搞定了,不过我想问一下在c中为什么直接用我的那个方法判断不出来呢???

//跳过他们就行,例如
while ((dirp = readdir(dp)) != NULL)
if (strcmp(dirp->d_name, ".") == 0 ||
strcmp(dirp->d_name, "..") == 0)
continue; /* ignore dot and dot-dot */

/* do something */


//什么叫判断不出来?你的具体的语句是什么?
参考技术A "."和“..”是字符,不可以直接赋值,要用strcmp函数比较

以上是关于Linux编程--readdir的主要内容,如果未能解决你的问题,请参考以下文章

linux层面算编程吗

(46)LINUX应用编程和网络编程之一Linux应用编程框架

Linux编程--readdir

linux 怎么进入shell编程模式

Linux系统编程—管道

如何看懂《Linux多线程服务端编程