当前位置: 技术问答>linux和unix
用C如何判断一个目录是否为空
来源: 互联网 发布时间:2015-01-12
本文导语: thks | 用opendir打开一个目录,得到结构DIR* , 但是没有关于其下有多少文件、子目录的数据,我用比较土的办法,遍历目录readdir,计算其下有多少文件和子目录,当然也不是连子目录下的东西...
thks
|
用opendir打开一个目录,得到结构DIR* , 但是没有关于其下有多少文件、子目录的数据,我用比较土的办法,遍历目录readdir,计算其下有多少文件和子目录,当然也不是连子目录下的东西也找。
下面的程序在solaris 8、 gcc编译通过的,如果一个目录是空的,输出为2。
#include
#include
#include
int main(int argc , char **argv)
{
DIR *dirp;
int num=0;
dirp = opendir(argv[1]);
while (dirp) {
if ( readdir(dirp) != NULL)
++num;
else
break;
}
closedir(dirp);
printf("%dn",num);
}
下面的程序在solaris 8、 gcc编译通过的,如果一个目录是空的,输出为2。
#include
#include
#include
int main(int argc , char **argv)
{
DIR *dirp;
int num=0;
dirp = opendir(argv[1]);
while (dirp) {
if ( readdir(dirp) != NULL)
++num;
else
break;
}
closedir(dirp);
printf("%dn",num);
}