Comment obtenir une liste de fichiers dans un répertoire en C++ ? (multi-plateforme)
Bonjour à tous ! Je suis un développeur C++ débutant et j'ai un problème. Je dois écrire une fonction qui obtient la liste de tous les fichiers dans un répertoire donné. Je travaille sous Windows, mais j'aimerais que le code fonctionne aussi sous Linux (ou macOS) sans réécriture.
Le problème est que j'ai trouvé plusieurs façons différentes. Par exemple, sous Windows, il y a les fonctions WinAPI `FindFirstFile` / `FindNextFile`. Sous Linux — `opendir` / `readdir`. Mais c'est terriblement gênant : écrire `#ifdef _WIN32` et dupliquer le code.
J'ai entendu dire qu'en C++17, quelque chose comme `std::filesystem` est apparu. Mais je ne suis pas sûr que cela fonctionne en pratique. Mon compilateur (MSVC 2022) semble supporter C++17, mais j'ai peur que sur de vieux serveurs ou dans des systèmes embarqués, cela ne compile pas.
Voici un exemple de ce que j'essaie de faire (pseudo-code) :
```cpp
#include
#include
#include
// Quelle fonction appeler ? Je veux obtenir un vector avec les noms de fichiers.
std::vector getFilesInDirectory(const std::st
No answers yet.
Connectez-vous pour laisser une réponse