I am making a program which is run in a Linux shell, and accepts an argument (a directory), and displays all the files in the directory, along with their type.
Outpu
I was able to use d_type on ubuntu:
switch (readDir->d_type)
{
case DT_DIR:
printf("Dir: %s\n", readDir->d_name);
break;
case DT_REG:
printf("File: %s\n", readDir->d_name);
break;
default:
printf("Other: %s\n", readDir->d_name);
}
The list of entry types can be found in dirent.h, (this could be different for os other than ubuntu):
dirent.h
#define DT_UNKNOWN 0
#define DT_FIFO 1
#define DT_CHR 2
#define DT_DIR 4
#define DT_BLK 6
#define DT_REG 8
#define DT_LNK 10
#define DT_SOCK 12
#define DT_WHT 14