Cómo obtener la lista de archivos en un directorio en C++ (multiplataforma)
¡Hola a todos! Soy un desarrollador principiante de C++ y tengo un problema. Necesito escribir una función que obtenga la lista de todos los archivos en un directorio dado. Trabajo en Windows, pero me gustaría que el código funcione también en Linux (o macOS) sin tener que reescribirlo.
El problema es que encontré varias formas diferentes. Por ejemplo, en Windows están las funciones WinAPI `FindFirstFile` / `FindNextFile`. En Linux — `opendir` / `readdir`. Pero es terriblemente incómodo: escribir `#ifdef _WIN32` y duplicar código.
He oído que en C++17 apareció algo como `std::filesystem`. Pero no estoy seguro de si funciona en la práctica. Mi compilador (MSVC 2022) parece soportar C++17, pero temo que en servidores antiguos o sistemas embebidos no se pueda compilar.
Aquí hay un ejemplo de lo que intento hacer (pseudocódigo):
```cpp
#include
#include
#include
// ¿Qué función llamar? Quiero obtener un vector con los nombres de los archivos.
std::vector getFilesInDirectory(const std::st