首页 > 代码库 > linux下使用c判断文件夹是否为空的小程序
linux下使用c判断文件夹是否为空的小程序
/*自己写了一个 判断文件夹是否为空的小代码
打开文件夹的函数在man的时候要加 man 3 readdir, */
#include <stdio.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <dirent.h>
int isdirempty(char *dirname)
{
/* 打开要进行匹配的文件目录 */
DIR *dir = opendir(dirname);
struct dirent *ent;
if (dir == NULL)
{
perror("seekkey.c-98-opendir");
return -1;
}
while (1)
{
ent = readdir (dir);
if (ent <= 0)
{
break;
}
if ((strcmp(".", ent->d_name)==0) || (strcmp("..", ent->d_name)==0))
{
continue;
}
if ((ent->d_type == 4) || (ent->d_type == 8))
{
return -1;
}
}
return 0;
}
int main()
{
char *dirname = "bb";
int res = isdirempty(dirname);
if (res == 0)
{
printf ("是空\n");
}
else
{
printf ("不是空\n");
}
}
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <dirent.h>
int isdirempty(char *dirname)
{
/* 打开要进行匹配的文件目录 */
DIR *dir = opendir(dirname);
struct dirent *ent;
if (dir == NULL)
{
perror("seekkey.c-98-opendir");
return -1;
}
while (1)
{
ent = readdir (dir);
if (ent <= 0)
{
break;
}
if ((strcmp(".", ent->d_name)==0) || (strcmp("..", ent->d_name)==0))
{
continue;
}
if ((ent->d_type == 4) || (ent->d_type == 8))
{
return -1;
}
}
return 0;
}
int main()
{
char *dirname = "bb";
int res = isdirempty(dirname);
if (res == 0)
{
printf ("是空\n");
}
else
{
printf ("不是空\n");
}
}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。