在linux下的c语言编程时使用readdir的时候读取到的“.”和“..”怎么去掉?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在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下的c语言编程时使用readdir的时候读取到的“.”和“..”怎么去掉?的主要内容,如果未能解决你的问题,请参考以下文章
linux中readdir是按照啥顺序读一个文件夹下的文件的?