当前位置: 技术问答>linux和unix
如何判断目录是否为空
来源: 互联网 发布时间:2016-03-28
本文导语: 除了 opendir后,数出文件数,判断是否为0的方法 有没有更快的方法?比如判断stat结构等等. | stat结构,这个真是不知道能不能。 opendir 可以判 是否只是. 和 .. 文件,来判断是否为空 | ...
除了 opendir后,数出文件数,判断是否为0的方法
有没有更快的方法?比如判断stat结构等等.
有没有更快的方法?比如判断stat结构等等.
|
stat结构,这个真是不知道能不能。
opendir 可以判 是否只是. 和 .. 文件,来判断是否为空
opendir 可以判 是否只是. 和 .. 文件,来判断是否为空
|
数数的方法还不对,至少应该有两个目录的。
|
int emptydir(const char *dir){
DIR *dirp;
dirp = opendir(dir);
if(dirp == NULL){
return -1;
}
if(readdir(dirp) == NULL || readdir(dirp) == NULL || readdir(dirp) == NULL){
closedir(dirp);
return 1;
}
return 0;
}
DIR *dirp;
dirp = opendir(dir);
if(dirp == NULL){
return -1;
}
if(readdir(dirp) == NULL || readdir(dirp) == NULL || readdir(dirp) == NULL){
closedir(dirp);
return 1;
}
return 0;
}
|
readdir到目录结尾时才返回NULL,你这利用或表达式,让它执行三次
如果读完.和..后没有文件,则返回NULL
佩服
|