Empty directory: Difference between revisions

m (→‎{{header|Java}}: before anyone asks)
Line 3:
 
An empty directory contains no files nor subdirectories. With [[Unix]] or [[Windows]] systems, every directory contains an entry for “<code>.</code>” and almost every directory contains “<code>..</code>” (except for a root directory); an empty directory contains no other entries.
=={{header|C}}==
<lang c>#include <stdio.h>
#include <dirent.h>
#include <string.h>
 
int dir_empty(char *path)
{
struct dirent *ent;
int ret = 1;
 
DIR *d = opendir(path);
if (!d) {
fprintf(stderr, "%s: ", path);
perror("");
return -1;
}
 
while ((ent = readdir(d))) {
if (!strcmp(ent->d_name, ".") || !(strcmp(ent->d_name, "..")))
continue;
ret = 0;
break;
}
 
closedir(d);
return ret;
}
 
int main(int c, char **v)
{
int ret = 0, i;
if (c < 2) return -1;
 
for (i = 1; i < c; i++) {
ret = dir_empty(v[i]);
if (ret >= 0)
printf("%s: %sempty\n", v[i], ret ? "" : "not ");
}
 
return 0;
}</lang>Running it:<pre>
% mkdir stuff; ./a.out /usr/ ./stuff /etc/passwd
/usr/: not empty
./stuff: empty
/etc/passwd: Not a directory
</pre>
 
=={{header|Java}}==
{{works with|Java|7+}}
Anonymous user