GNU/Linux >> Tutoriels Linux >  >> Linux

Compter le nombre de fichiers dans un répertoire en utilisant C

Aucune garantie que ce code compile, et il n'est vraiment compatible qu'avec Linux et les BSD :

#include <dirent.h>

...

int file_count = 0;
DIR * dirp;
struct dirent * entry;

dirp = opendir("path"); /* There should be error handling after this */
while ((entry = readdir(dirp)) != NULL) {
    if (entry->d_type == DT_REG) { /* If the entry is a regular file */
         file_count++;
    }
}
closedir(dirp);

Voir readdir .


Si vous souhaitez également inclure des sous-répertoires, vous pouvez utiliser cette fonction que j'utilise dans certains de mes codes. Vous devriez probablement le modifier pour inclure plus de vérification des erreurs et prendre en charge différents séparateurs de répertoires.

int countfiles(char *path) {
    DIR *dir_ptr = NULL;
    struct dirent *direntp;
    char *npath;
    if (!path) return 0;
    if( (dir_ptr = opendir(path)) == NULL ) return 0;

    int count=0;
    while( (direntp = readdir(dir_ptr)))
    {
        if (strcmp(direntp->d_name,".")==0 ||
            strcmp(direntp->d_name,"..")==0) continue;
        switch (direntp->d_type) {
            case DT_REG:
                ++count;
                break;
            case DT_DIR:            
                npath=malloc(strlen(path)+strlen(direntp->d_name)+2);
                sprintf(npath,"%s/%s",path, direntp->d_name);
                count += countfiles(npath);
                free(npath);
                break;
        }
    }
    closedir(dir_ptr);
    return count;
}

Linux
  1. Comment trouver le nombre de fichiers dans un répertoire et des sous-répertoires

  2. Comment obtenir un nombre de fichiers dans un répertoire à l'aide de la ligne de commande ?

  3. Utiliser –exclude avec la commande Du ?

  4. Comptez les lignes de tous les fichiers du répertoire Ubuntu

  5. comment trouver le propriétaire d'un fichier ou d'un répertoire en python

Comment trouver des fichiers en utilisant la ligne de commande dans le terminal Linux

Débutants Linux :gérer les fichiers à l'aide du terminal sur CentOS 8

Compter le nombre de fichiers dans un répertoire sous Linux

Comment compter le nombre de fichiers dans un répertoire sous Linux

Chemin absolu ou relatif sous Linux :quelle est la différence ?

Linux :rechercher le nombre de fichiers dans un répertoire et des sous-répertoires