c ++, liste alle filer, dirent.h på windows

Indlæg af Hanne Mølgaard Plasc

Problem



i C ++, hvad ville være den bedste måde at liste alle filer på en mappe på Windows?


På Linux eller Windows ved hjælp af gcc (f.eks. MingW) er dette let muligt med dirent.h, men hvad er den bedste måde at gøre det på Windows, når dirent.h ikke er tilgængeligt (for eksempel Visual Studio)?


Skal jeg tvinge folk til at tilføje en frit tilgængelig implementering af dirent.h til deres Visual Studio? Eller skal jeg skrive en alternativ kode til læsning af filerne? Hvis dette, hvad ville være den bedste kode til at gøre det?


Tak.

Bedste reference


Noget som Boost Filesystem ville arbejde på tværs af alle disse situationer. [3]

Andre referencer 1


dirent.h er en POSIX header. På Windows bruger du funktionerne Find*File*() i Win32 API. [4]

Andre referencer 2


For at tilføje til svaret ovenfor, åbnes Windows API via windows.h header filen inkluderet.