Nombre fichier dans un projet en c

Fermé
Arnet879 - 8 janv. 2022 à 02:49
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 - 18 janv. 2022 à 13:23
Bonjour,
je voulais savoir comment coder un sous programme ou quelques lignes de code qui pourraient connaitre le nombre de fichier .txt par exemple ou fichier .save de mon projet.
C'est à dire, imaginons dans mon fichier Projet qui contient mon main etc.. il a 3 fichier .txt et je chercher a faire en sorte que mon programme fasse des actions différentes en fonction du nombre de fichier .txt présent dans mon projet.

j'espère avoir été clair
Merci de votre reponse

Arnet879



Configuration: Windows / Chrome 96.0.4664.110
A voir également:

3 réponses

[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
12 janv. 2022 à 15:01
Salut Arnet879,

Si tu veux savoir quel est le nombre de fichiers respectant un certain masque de recherche comme "*.txt", existants dans le répertoire courant dans lequel se trouve l'exécutable, ou le répertoire courant d'excécution, tu vas devoir utiliser des fonctions spécifiques à l'API de ton système d'exploitation.

Donc , la première chose à clarifier est : tu fais ton programme pour quel système d'exploitation ?

Dal
0
mamiemando Messages postés 33077 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 18 avril 2024 7 748
Modifié le 18 janv. 2022 à 14:13
Bonjour,

Tu peux repartir de cette discussion, mais comme le soulignes [Dal], la solution dépend du système.

En C++, à partir du C++17, il existe bien les fonctions apportées par
#include <filesystem>
(voir cette discussion).

En C, pour avoir un code indépendant de la plateforme, il faut écrire une abstraction, c'est par exemple ce qui est proposé dans cpath. En incluant
cpath.h
, ce header s'occupe d'avoir un jeu de fonction commun quelque soit le système sous-jacent (voir
example.c
pour voir son utilisation)

Bonne chance
0
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
Modifié le 18 janv. 2022 à 15:04
Bonjour Arnet879 et mamiemando,

@Arnet879 : tu n'as pas répondu à ma question sur le système pour lequel tu programmes.

Sous Windows, pour rechercher les fichiers matchant "*.txt" dans un répertoire, on utiliserait les fonctions de l'API Windows FindFirstFile() puis FindNextFile().

Sous Linux et les systèmes POSIX, scandir accessible avec un #include <dirent.h> devrait faire l'affaire.

Ensuite, s'il faut rechercher dans une arborescence la question de la récursivité se pose, et la nécessite de concevoir la fonction qui lance la recherche de façon à ce qu'elle se lance elle-même sur les sous-répertoires en passant un pointeur vers une variable effectuant le décompte... mais je n'avais pas compris que cela était la question de Arnet879.

Dal
0