点击这里给我发消息 点击这里给我发消息

linux用C如何判断一个目录是否为空

添加时间:2013-12-7
    相关阅读: 程序 linux

    用opendir打开一个目录,得到结构DIR*,但是没有关于其下有多少文件、子目录的数据,我用比较土的办法,遍历目录readdir,计算其下有多少文件和子目录,当然也不是连子目录下的东西也找。

    下面的程序在solaris8、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("%d\n",num);
}

    shell中判断目录为空

 #!/bin/ksh
# Check if a directory is empty or not

if [ $# = 0 ]
then
echo
echo "use this tool to check if directory is empty"
echo "for example: isEmpty dirName "
echo
exit 1
fi

case $(( 0 + $(find $1 2>&- |head -2|wc -l))) in

0) echo Permission denied ! ;;
1) echo Directory is empty ! ;;
*) echo Directory is not empty ! ;;

esac

相关linux用C如何判断一个目录是否为空

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册