Welcome to collectivesolver - Programming & Software Q&A with code examples. A website with trusted programming answers. All programs are tested and work.

Contact: aviboots(AT)netvision.net.il

Buy a domain name - Register cheap domain names from $0.99 - Namecheap

Scalable Hosting That Grows With You

Secure & Reliable Web Hosting, Free Domain, Free SSL, 1-Click WordPress Install, Expert 24/7 Support

Semrush - keyword research tool

Boost your online presence with premium web hosting and servers

Disclosure: My content contains affiliate links.

39,851 questions

51,772 answers

573 users

How to count all files and subdirectories from a directory recursively in C

1 Answer

0 votes
#include <stdio.h>
#include <dirent.h>
#include <string.h>
 
int countAllFilesAndDirs(char *mainpath) {
    char path[1024];
    struct dirent *drnt;
    DIR *dir = opendir(mainpath);
	static int i = 0;
	
    if (!dir)
        return 0;
     
    while ((drnt = readdir(dir)) != NULL) {
        if (strcmp(drnt->d_name, ".") != 0 && strcmp(drnt->d_name, "..") != 0) {
            i++;
             
            strcpy(path, mainpath);
            strcat(path, "/");
            strcat(path, drnt->d_name);
 
            countAllFilesAndDirs(path);
        }
    }
 
    closedir(dir);
	
	return i;
}
   
int main(int argc, char **argv) 
{ 
    int total = countAllFilesAndDirs("c:\\xampp\\htdocs\\allonpage.com");
	
	printf("%d\n", total);

	return 0;
}
    
/*
   
run:
    
43262
 
*/

 

 



answered Jan 22, 2019 by avibootz
edited Jan 22, 2019 by avibootz
...