#include <stdio.h>
#include <string.h>
#include <dirent.h>
void listFiles(const char* dirname) {
DIR* dir = opendir(dirname);
if (dir == NULL) {
return;
}
printf("Reading files in: %s\n", dirname);
struct dirent* entity;
entity = readdir(dir);
while (entity != NULL) {
printf("%hhd %s/%s\n", entity->d_type, dirname, entity->d_name);
if (entity->d_type == DT_DIR && strcmp(entity->d_name, ".") != 0 && strcmp(entity->d_name, "..") != 0) {
char path[100] = { 0 };
strcat(path, dirname);
strcat(path, "/");
strcat(path, entity->d_name);
listFiles(path);
}
entity = readdir(dir);
}
closedir(dir);
}
int main(int argc, char* argv[]) {
listFiles(".");
return 0;
}