Salut à tous !

Après avoir cherché sur internet, j'ai réussi à trouver quelques pistes à la résolution, mais pas la solution finale !

Mon problème:
J'écris un programme en C, et j'aimerais récupérer dans mon programme le nombre de fichiers contenu dans un dossier spécifique. Pour cela, j'avais tout d'abord pensais à faire un script shell, mais étant débutant je n'ai pas vraiment réussi à faire ce que je voulais.
J'ai ensuite découvert la commande , et j'en suis donc arrivé au code suivant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int nb_descripteurs(){
    int nb;
    FILE *ptr;
 
    ptr = fopen("mon_repertoire/NB_DESCRIPTEUR.txt","w");
 
    fprintf(ptr,"%d",system("ls mon_repertoire | wc -l"));
 
    fscanf(ptr,"%d",&nb);
 
    return (nb);
}
 
int main()
{
    printf("%d", nb_descripteurs());
    return 0;
}
Voilà mais le soucis ici c'est que lorsque que j'exécute mon programme, je me retrouve avec affiché à l'écran:1 étant le nombre réel de fichiers présent, "calculé" par la commande linux, et 0 étant la valeur de la variable nb.

Quelqu'un aurait-il une solution pour enregistrer correctement 1 dans ma variable nb s'il-vous-plaît ?

Merci beaucoup !