Nombre fichier dans un projet en c
Fermé
Arnet879
-
8 janv. 2022 à 02:49
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 - 18 janv. 2022 à 13:23
[Dal] Messages postés 6198 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 13 décembre 2024 - 18 janv. 2022 à 13:23
A voir également:
- Nombre fichier dans un projet en c
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Ouvrir un fichier .bin - Guide
- Fichier host - Guide
3 réponses
[Dal]
Messages postés
6198
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2024
1 096
12 janv. 2022 à 15:01
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
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
mamiemando
Messages postés
33446
Date d'inscription
jeudi 12 mai 2005
Statut
Modérateur
Dernière intervention
20 décembre 2024
7 812
Modifié le 18 janv. 2022 à 14:13
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
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
Bonne chance
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.cpour voir son utilisation)
Bonne chance
[Dal]
Messages postés
6198
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
13 décembre 2024
1 096
Modifié le 18 janv. 2022 à 15:04
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
@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